Stack Overflow に関する質問の 1 つに対する回答 (以下を参照)から、世界中のコーダーにとってかけがえのない素晴らしいソフトウェアのアイデアが浮かびました。
私は RAM ドライブ ソフトウェアを想像していますが、決定的な違いが 1 つあります。それは、ハード ドライブ上の実際のフォルダーをミラーリングすることです。より具体的には、現在取り組んでいるプロジェクトを含むフォルダーです。このようにして、ビルドはほぼ瞬時に実行されます (または、少なくとも 2 桁高速になります)。RAM ドライブは、アイドル状態のリソースのみを使用して、バックグラウンドでその内容をハード ディスク ドライブと同期します。
簡単な Google 検索では何もわかりませんでしたが、Google の検索方法がわからないだけかもしれません。おそらく誰かがそのようなソフトウェアを知っていますか? できれば無料ですが、妥当な料金でもかまいません。
追加:最初に破棄したいくつかの解決策が提案されました。それらは次のようになります (順不同):
- より高速なハードディスク ドライブ ( SSDか 10K RPM) を購入します。ハードウェア ソリューションは必要ありません。ソフトウェアが安価になる可能性があるだけでなく (フリーウェアですか?)、ハードウェアの変更が不可能ではないにしても歓迎されない環境 (オフィスなど) でも使用できます。
- OS/HDD にキャッシングを任せてください。空き RAM の使用方法を OS/HDD の方がよく知っています。OS/HDD には、すべてをキャッシュし、将来どのデータが最も必要になるかを予測しようとする汎用キャッシュ アルゴリズムがあります。彼らは、私にとって優先順位がプロジェクト フォルダーであることを知りません。そして、私たち全員がよく知っているように、とにかくあまりキャッシュしません。;)
- 周りにはたくさんの RAM ドライブがあります。それらのいずれかを使用します。すみません、それは無謀です。少し空き時間があるときはいつでも、データを HDD に同期する必要があります。停電が発生した場合、最後の 5 分間の作業を失うことは耐えられますが、最後のチェックイン以降のすべてではありません。
追加 2:思いついたアイデア - 通常の RAM ドライブとバックグラウンド フォルダー シンクロナイザーを使用します (ただし、バックグラウンドを意味します)。そのようなことはありますか?
追加 3:興味深い。仕事で単純なRAMドライブを試しました。再構築時間は ~14 秒から ~7 秒 (悪くはない) に短縮されますが、インクリメンタル ビルドは依然として ~5 秒です - HDD と同じです。理由はありますか?と を使用aspnet_compiler
しaspnet_merge
ます。おそらく、彼らは他の場所にある他の一時ファイルで何かをしているでしょうか?
追加 4:ああ、素晴らしい新しい回答セットです! :) OK、否定論者の皆さんにもう少し情報があります。:)
このアイデアの主な理由の 1 つは、上記のソフトウェア (ビルド時間 14 秒) ではなく、当時私がアクセスできなかった別のソフトウェアです。この別のアプリケーションには 100 MB のコード ベースがあり、完全なビルドには約 5 分かかります。ああ、それはDelphi 5にあるので、コンパイラはあまり高度ではありません。:) ソースを RAM ドライブに置くと、大きな違いが生じました。1分もかからなかったと思います。私は測定していません。したがって、OS の方がキャッシュをより適切に処理できると言うすべての人にとって、私は異議を唱えたいと思います。
関連する質問:
最初のリンクに関する注意: リンク先 の質問は重複しているため削除されました。それは尋ねました:
コードのコンパイル中に何をしますか?
そして、私がリンクしたDmitri Nesterukの答えは次のとおりです。
私はほぼ瞬時にコンパイルします。私のプロジェクトが小さいことと、RAM ディスクを使用していることが原因の 1 つです。