2009-02-26 10 views
2

私はコンパイルを高速化したいので、自分のファイルをramdiskでビルドできると思っていましたが、ファイルシステムに自動的にフラッシュして、十分なRAMがない場合はファイルシステムを使用します。ramdisk with file mirror

私はRAMにキャッシュされ、FSにフラッシュされるファイルを好きな場所に書いているアプリに似たものが必要な場合があります。私の選択肢は何ですか?すでに存在しているようなものはありますか? (おそらくヒューズ?)アプリはおもちゃアプリ(今のところ)であり、私はC++コードを繰り返しコンパイルする必要があります。私たちが知っているように、進行する前に解決すべき特定の問題があるときには、コンパイルするのに時間がかかります。私たちはやりにくくなります。

答えて

3

Ram-disksは、ファイルシステムのキャッシュを持つドードーの道を行く。他のプログラムによるRAMの使用状況やディスク書き込みヘッドの位置を認識して、静的キャッシュよりも優れた意思決定を行うことができます。遅延書き込みは無料です。

+0

あなたはこれを実装する必要はないので、ウィンドウが私のファイルをキャッシュすると言っていますか? –

+0

はい、そうです。読み書きの両方。 –

+0

これは一般に当てはまりますか?ソフトウェアを作成した開発者は、Windowsにファイルシステムキャッシュを使用するよう指示するために何かをしなければなりませんか?言い換えれば、私のシンプルなCコードは、大きなファイルを書き込むときにシステムキャッシュから利益を得ますか?もしそうなら、RAMDISKに書き込むときに私はなぜ劇的なスピードアップを見ますか? (OpenCVを使って大容量のビデオファイルを一度に1フレームずつ書き出しています。 – AndyL

1

コンパイルはCPUバインドで、ディスクにバインドされていません。適切なビルドフラグを使用してすべてのCPUコアを利用する場合は、一般的なPCに簡単に飽和させることができます。あなたが何らかのスーパーコンピュータを持っていない限り、私はこれが物事をスピードアップするとは思わない。

VS2008の場合、このフラグは/MPです。 VS2005にも存在します。

関連する問題