この回答は、コメントでの議論の一部を記念して拡張しています。RAMディスクは、コンピューティングシステム内のRAMの一部を使用して外部ディスクドライブをエミュレートします。インメモリキャッシングに匹敵する速度で読み取りと書き込みを行うことができますが、変換プロトコルがディスク指向のコマンドをメモリ指向のコマンドに変換するためのオーバーヘッドはわずかです。RAMディスクは、特別なオペレーティングシステムレベルのソフトウェアである「デバイスドライバー」を実行することによって作成されます。オープンソースと無料のRAMディスクは、Windowsを含む多くのオペレーティングシステムで利用できます。
したがって、中間ディスクI / Oによるボトルネックをスピードアップする1つの方法は、RAMディスクをセットアップし(必要に応じて追加のRAMを購入)、そこにスクラッチフォルダーを配置することです。(これは通常、ソフトウェア設定です。)
別のオプションは、ハイエンドDRAMソリッドステートデバイス(SSD)をインストールすることです。SSDは、本質的にはディスクドライブのように機能する電子インターフェイスを備えた個別のパッケージにRAMのブロックです。これは、ディスクドライブの代わりにコンピューティングシステムにインストールされ、追加のソフトウェアなしで別のディスクドライブとまったく同じように動作しますが、メモリアクセスとほぼ同じ速さで読み書きします。これらは比較的高価ですが、非常に大きな中間ラスターストレージの場合でも、必要なのは小さなものだけです。
これらの手順を実行する前に、プロファイルを作成することが重要ですボトルネックが実際にどこにあるかを確認するプロセス。(Windowsには、近年ますます強力なプロファイリングアプリと監視アプリが付属しており、Win 7ではタスクマネージャーとリソースモニターのペアとして利用できます。もちろん、他のOSでも同様のアプリが多数利用できます。)多くのシステムは自動的に構成されます。ディスクの読み取りと書き込みを短時間RAMにキャッシュするように構成できます。キャッシュはRAMディスクとほぼ同じように機能しますが、おそらくもっと高速です。ソフトウェアは中間ファイルをディスクに書き込むと見なしますが、OSはそれらを一時的にRAMに書き込み、ディスクにはアクセスせず、すぐに同じデータが読み込まれ、削除されます。この場合、物理的な書き込みは必要ありません。
完全な可視性の計算に必要な計算量(単純なアルゴリズムでは、すべてのセルの可視性を各視点で1回検査する必要があります)を考えると、ディスクI / Oではなく、計算速度が問題であると少なくとも疑う必要がありますここに。その場合、RAMディスクまたはSSDは時間とお金の無駄になります。代わりに、基礎となるアルゴリズムの分析と改善に努力を向けるべきです。
RAMディスクのパフォーマンスがArcGISに役立つかどうかについての議論が別のスレッドで出てきました。