Questa risposta memorizza e si espande su alcune discussioni nei commenti. Un disco RAM emula un'unità disco esterna utilizzando parte della RAM in un sistema di elaborazione. Può leggere e scrivere a velocità paragonabili alla cache in memoria, meno un po 'di sovraccarico per i protocolli di traduzione per convertire i comandi orientati al disco in comandi orientati alla memoria. Un disco RAM viene creato eseguendo un software speciale a livello di sistema operativo, un "driver di dispositivo". Sono disponibili dischi RAM liberi e open source per molti sistemi operativi, incluso Windows.
Pertanto, un modo per accelerare un collo di bottiglia a causa dell'I / O del disco intermedio consiste nell'impostare un disco RAM (acquistando la RAM aggiuntiva se necessario) e posizionare lì la cartella scratch. (Questa è solitamente un'impostazione software.)
Un'altra opzione è quella di installare un dispositivo a stato solido DRAM (SSD) di fascia alta , che essenzialmente è un blocco di RAM in un pacchetto separato con un'interfaccia elettronica per agire come un'unità disco. Si installa in un sistema informatico al posto di un'unità disco e si comporterà esattamente come un'altra unità disco senza software aggiuntivo, ma leggerà e scriverà quasi alla stessa velocità degli accessi alla memoria. Questi sono relativamente costosi, ma probabilmente è necessario solo uno piccolo anche per l'archiviazione raster intermedia molto grande.
Prima di eseguire uno qualsiasi di questi passaggi, è importante creare un profiloil processo per accertare dove si trova realmente il collo di bottiglia. (Windows è stato fornito con app di profilazione e monitoraggio sempre più potenti negli ultimi anni, disponibile in Win 7 come coppia Task Manager / Monitor risorse e, naturalmente, molte app simili sono disponibili anche per altri sistemi operativi.) Molti sistemi sono configurati automaticamente, o può essere configurato per memorizzare nella cache le letture e le scritture del disco nella RAM per brevi periodi. La memorizzazione nella cache funziona quasi come un disco RAM, ma è probabilmente ancora più veloce: il software pensa che stia scrivendo file intermedi su disco, ma il sistema operativo li scrive temporaneamente nella RAM prima, non accedendo al disco, nella speranza che presto gli stessi dati verrà riletto ed eliminato, nel qual caso una scrittura fisica non sarà mai necessaria.
Data la quantità di calcolo necessaria per qualsiasi calcolo di visibilità completa (in un algoritmo ingenuo, ogni cella deve essere ispezionata per la visibilità una volta per ogni punto di vista), si dovrebbe almeno sospettare che la velocità di elaborazione, non l'I / O del disco, possa essere il problema Qui. In tal caso, i dischi RAM o SSD saranno una perdita di tempo e denaro. Invece, lo sforzo dovrebbe essere diretto all'analisi e al miglioramento dell'algoritmo sottostante .
Qualche discussione sul fatto che le prestazioni del disco RAM aiutino ArcGIS è apparso in un altro thread .