В Linux создать и примонтировать RAM-диск можно чуть ли ни одной командой, а вот в Windows таких стандартных средств я не нашел. Или плохо искал, или их нет совсем. В один прекрасный день захотелось ощутить мощь и быстроту диска в оперативной памяти, использовав его для компиляции Miranda NG.
Для создания дисков и монтирования образов программ вагон платных и бесплатных, а подключать VHD-образы можно даже без посторонних программ. Я воспользовался бесплатной программой ImDisk Virtual Disk Driver. Интерфейс у нее простой:
Диск создаётся вот таким образом:
Указывается только буква диска, его размер и опция для размещения в физической памяти. Без указания последней опции диск может перекочевать в файл подкачки.
Для полной сборки Miranda NG 4 гигабайта вполне хватит.
После нажатия кнопки "ОК" появится системный запрос на форматирование диска. Я выбрал размер кластера 4 килобайта и файловую систему NTFS.
А вот теперь начинается самое интересное. Такой виртуальный диск не получится взять и примонтировать в папку, как обычный диск, потому что он не отображается ни в диспетчере дисков, ни в выводе mountvol, но можно пойти на хитрость. Если нельзя смонтировать весь диск, то можно сделать ссылку на папку на этом диске. На счет старый версий не уверен, но в Windows 8 точно есть команда mklink для создания разного рода ссылок на разделах с файловой системой NTFS. Я создал на диске одну единственную папку "build". Ссылка на папку создаётся примерно такой командой:
mklink /d d:\src\miranda\bin10\Release f:\build
В папке появится ссылка "Release", но программы её будут воспринимать как обычную папку.
Всё, теперь можно приступать к сборке.
Субъективно программа собралась быстрее, чем при использовании жесткого диска.
И напоследок я попробовал дефрагментировать диск с помощью Auslogics DiskDefrag. Справился дефрагментатор со своей задачей за секунды.