現在、Linuxで次のようなプログラムをデバッグしています。
int main(){
loadHugeFile();
processTheDataOfTheFile();
return 0;
}
重要なのはloadHugeFile
、関数がギガバイト単位で非常に大きなファイルをロードする必要があることです。これには約5分かかりますがprocessTheDataOfTheFile
、必要なデータを計算していくつかの値を返すのに10秒もかかりません。将来的には、ファイルのサイズがさらに大きくなる可能性があり、ロードにさらに時間がかかります。ファイルは反転インデックスであるため、ファイル全体が必要です。
1つのプロセスにこのファイルをRAMにロードさせ、それを保持させ、他のプロセスにロードされたファイルのこの部分にアクセスさせることは可能ですか?これは、その分数の読み込みをスキップするためです。Windowsには、別のプロセスのメモリにアクセス/変更できるこの機能があることを思い出しますが、ここでLinuxで利用できる選択肢は何ですか?