開発環境を快適にするためには、SSDより速いRamDiskを構築すべきだ!!
RamDiskとは
メインメモリの一部をストレージのようにドライブとしてマウントする
メモリなのでとても速い
SSDがかなり高速になったので、HDD時代ほどはメリットがないが
SSDの書き換え回数を減らすというメリットもある
しかし、メモリなので電源OFFをするとデータが消える
(たいていのソフトは、データをストレージに保存するオプションがある)
RamDiskソフトにより速度などが違うので何個かためしてみた
環境は Windows10 64ビット。
まず NVMe SSDの速度
ROG Ramdisk
Max?GB。上限はわからないが、かなり大きなサイズを確保できる
NTFSでの保存も可能
複数ドライブ作成可能
やはりSSDより速い。圧倒的に
Dataram RamDisk
上記のROG Ramdiskに比べると圧倒的に遅い
ファイルフォーマットの差かもしれないが
しかも1GBまでしか使えない
SoftPerfect
NTFS
Max?GB
複数ドライブ作成可能
永続化をドライブごとに選べる
また、実行中時ドライブサイズを変更可能
ROG Ramdiskより多少速いし、動的にサイズ変更できるのが素晴らしい!
ので、これを採用する事にした
Buffalo
Max 1344MB
サイズが小さいし、インストールしたらブルースクリーン
その他
色々とインストールしたがROG Ramdisk、SoftPerfectに勝るものがなかった
もっと良いものをみつけたらそれに変更します
結局 SoftPerfectを採用
SoftPerfect
羊マークのあれ
https://www.softperfect.com/products/ramdisk/
使用期間30日。個人利用なら3140円、ビジネスなら5310円だが
古いバージョンでは個人利用は無料
バージョン上がると機能も増えているので、パーツと違い半永久的に使えるので安いかと思う
設定
インストールは普通にインストールする。
RamDiskの内容を毎回バックアップするかどうかでディスクの作り方が違ってくる
保存する場合は イメージの作成と仮想ディスク->イメージの作成 で、
ディスクイメージを作成し、RAMディスクメニューからマウントを行う
保存が不要な場合は直接RAMディスクメニューからマウントを行う
起動時にマウントする場合は、RAMディスクメニューの起動時にマウントされるRAMディスク で作成
RamDiskの容量を決める。用途次第だがあとで変更可能なので適当でも大丈夫。
最低でも500MBぐらいほしいかなあ? 私は4GBぐらいにしている
色々設定はあるけど、普通に使うにはこれで十分
キャッシュ化
Temp
WindowsのTempをRamDiskにするのは定番だ
環境変数変更するなり、ショートカット張るなり好きにしよう
基本的に最近のインストーラーはTempに値を保持しないはずなので、このデータはイメージ保存必要ない
ブラウザキャッシュ
ブラウザのHTMLキャッシュをRamDiskに入れるのも定番だ
やり方は色々なページで書かれている
わたしはシンボリックリンクをRamDiskに張った
このデータはイメージ保存必要ない
ダウンロード
どうしてもダウンロードがたまってしまう私・・・
ダウンロードフォルダをRamDiskにしてイメージ保存をしなければ、毎回きえてくれるぞ!
後でほしいものだけコピーしている
メリットとしては、Zip圧縮されたものをオンメモリで解答出来る事だ
速度メリットというよりはSSDの書き込み寿命のためというか。
もちろん大きなファイルのダウンロードは他のドライブに入れるか、領域を大きくする必要がある
あえてイメージ保存しない
動画や画像ソフトのTemp
これもわかりやすい。ただしある程度の大きさが必要である
このデータはイメージ保存必要ない
ビルド時の中間ファイル
C++とかをビルドするときの中間ファイルをRamDiskにすることもあったが
今は面倒なので行ってない。。
が、ソース丸ごとRamDiskに入れてコンパイルする事はある
例えばBoostとか大きい奴は 8GBぐらいのRamDiskで丸っとビルドする事がある
Docker等
DockerとかをRamDisk上で実行させると便利である
例えばテストだったりRamDisk上で全部完結されされれば・・・
とても有効ではないかと思うが、今はDocker on Ramdiskの研究中!
その他
便利な使い方があったら教えてください!!