2007-12-19

RAMDisk для быстрой компиляции

Некоторое время назад решил попробовать сабж. Основная идея - размещать временные файлы проекта в оперативке, тогда время компиляции уменьшится (собранные объектники не будут гоняться на диск и обратно). Бесплатную программу для создания RAM диска можно взять здесь http://ramdisk.nm.ru/ramdiskent-rus (ссылку нашел на рсдн)
Устанавливается софтина весьма легко, единственная опция которая потребовала внимания - требуемый объем оперативки выделяемой под диск. Махнув рукой отдал 256 мб из гигабайта.
Для моих проектов (время ребилда меньше минуты) существенных изменений не заметил - время осталось таким же или стало чуть меньше.
Вывод - взять сфотинку на заметку, возможно окажется полезной в будущем, но сейчас смысла использовать нет.

3 комментария:

Анонимный комментирует...

Если компиляция под MS VS 2003 aka 7.1 и выше то есть интересный трюк для повышения скорости компиляции раз в 6-7 (было актуально для Athlona старого, 1 ядерного на 2ГГц, 1,5ГБ оперативки ):
1)создать проект - копию компилируемого, но удалить все *.срр(*.схх и тд) файлы
2)создать файл projectX.срр в него поместить include всех исходников проекта, например:
#include "FXChartUtils.cpp"
#include "FXChartObject.cpp"
#include "FXChartLabel.cpp"
#include "FXChartDataSerie.cpp"
3)компилируем, наслаждаемся.
Конечно перелопатить чужой проект сложно и неудобно, но свой сразу можно подготовить для такой компиляции.

ShaggyOwl комментирует...

Я правильно понял, в единственный cpp файл нового проекта добавляются все cpp файлы из старого?
Забавно :) Никогда бы не додумался до такого трюка :)
Обязательно попробую. Спасибо! :)

ShaggyOwl комментирует...

А за счет чего происходит такое ускорение? На линковке столько выиграть явно нельзя. Значит выигрыш получается на этапе компиляции. Но где?