Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 01.06.05 08:07
Оценка: 3 (1)
Всем привет!

Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.

Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?

Спасибо,
Tuo_Bellas.
Re: Компиляция на диске в памяти
От: ilnar Россия  
Дата: 01.06.05 08:25
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Всем привет!


T_B>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.


T_B>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?

УПС — или так сказать, или устройство такое поставить

T_B>Спасибо,

T_B>Tuo_Bellas.
Re[2]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 01.06.05 08:54
Оценка:
Здравствуйте, ilnar, Вы писали:

T_B>>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.


T_B>>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?

I>УПС — или так сказать, или устройство такое поставить

Я имею ввиду программно, с упсом понятно

Спасибо,
Tuo_Bellas.
Re[3]: Компиляция на диске в памяти
От: ilnar Россия  
Дата: 01.06.05 09:01
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:


T_B>Я имею ввиду программно, с упсом понятно


hibernate — самое то продолжишь как дадут электричество (понимаю беспокойство моквичей :-D )

T_B>Спасибо,

T_B>Tuo_Bellas.
Re[4]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 01.06.05 09:07
Оценка:
Здравствуйте, ilnar, Вы писали:

T_B>>Я имею ввиду программно, с упсом понятно


I>hibernate — самое то продолжишь как дадут электричество (понимаю беспокойство моквичей :-D )


Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...

Спасибо,
Tuo_Bellas.
Re[5]: Компиляция на диске в памяти
От: ilnar Россия  
Дата: 01.06.05 09:11
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Здравствуйте, ilnar, Вы писали:


T_B>>>Я имею ввиду программно, с упсом понятно


I>>hibernate — самое то продолжишь как дадут электричество (понимаю беспокойство моквичей :-D )


T_B> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...


может просто столько не париться? это же все-таки просто компиляция, а не транзакция на млрд енотов.

T_B>Спасибо,

T_B>Tuo_Bellas.
Re[5]: Компиляция на диске в памяти
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 01.06.05 09:41
Оценка: 1 (1)
Здравствуйте, Tuo_Bellas, Вы писали:

T_B> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...


А какие проблемы в том, чтобы держать исходники на винте, а объектники на виртуальном диске?
Имхо, даже в VS можно настраивать пути для расположения объектных файлов и других результатов компиляции.
Да и другие инструменты для управления компиляцией позволяют это делать.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[6]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 01.06.05 10:11
Оценка:
Здравствуйте, eao197, Вы писали:

T_B>> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...


E>А какие проблемы в том, чтобы держать исходники на винте, а объектники на виртуальном диске?

E>Имхо, даже в VS можно настраивать пути для расположения объектных файлов и других результатов компиляции.
E>Да и другие инструменты для управления компиляцией позволяют это делать.

Да, наверное, можно и так.

А как насчет других вопросов? Кто-нибудь вообще пробовал такими извращениями заниматься?

Спасибо,
Tuo_Bellas.
Re[7]: Компиляция на диске в памяти
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 01.06.05 10:40
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>А как насчет других вопросов? Кто-нибудь вообще пробовал такими извращениями заниматься?


Да, под DOS-ом, году эдак в 93-м. А как под Windows виртуальный диск в памяти организовать я сейчас даже и не знаю.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Компиляция на диске в памяти
От: LMars Россия  
Дата: 01.06.05 10:47
Оценка: +1
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать.


А вообще-то при компиляции проекта все упирается в проц! Во всяком случае у меня... и на всех соседних машинах...Разве у тебя не так?
Re[2]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 01.06.05 11:24
Оценка:
Здравствуйте, LMars, Вы писали:

T_B>>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать.


LM> А вообще-то при компиляции проекта все упирается в проц! Во всяком случае у меня... и на всех соседних машинах...Разве у тебя не так?


Гиг промежуточных файлов в двенадцати либах. По любому, ускорение работы с диском ускорит компиляцию. У тебя сколько промежуточных файлов генерится?

Спасибо,
Tuo_Bellas.
Re[7]: Компиляция на диске в памяти
От: Sashko Россия http://www.dc.baika.ru/
Дата: 02.06.05 07:10
Оценка: 4 (1)
E>>А какие проблемы в том, чтобы держать исходники на винте, а объектники на виртуальном диске?
E>>Имхо, даже в VS можно настраивать пути для расположения объектных файлов и других результатов компиляции.
E>>Да и другие инструменты для управления компиляцией позволяют это делать.

T_B>Да, наверное, можно и так.


Или можно вообще просто link сделать (под NT reparse point) и всё, сорци на HDD, bin, obj, Debug, Release линками на RAM Drive, ну а после билда (если конечно это нужно) можно копию результата куда-нибудь на HDD сделать
Re[3]: Компиляция на диске в памяти
От: LMars Россия  
Дата: 02.06.05 08:52
Оценка:
T_B>Гиг промежуточных файлов в двенадцати либах. По любому, ускорение работы с диском ускорит компиляцию. У тебя сколько промежуточных файлов генерится?

Ну наверное ускорит, только на сколько. У меня конечно гига объектников нет... чуть более ста метров. И вижу что узкое место — это проц.

ИнкредиБилд то почему появился... и почему с ним быстрее... потому что он дополнительные процы привлекает к компиляции! При этом работа с файлами у него только ухудшается... он же их еще и по сети гоняет!

Все это мое ИМХО.
Re: Компиляция на диске в памяти
От: Alex Axyonov Украина  
Дата: 02.06.05 13:22
Оценка: 6 (1)
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Всем привет!


T_B>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.


T_B>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?


T_B>Спасибо,

T_B>Tuo_Bellas.

Re[2]: Почему нет железок для программистов
Автор: Малич Юрий
Дата: 16.05.05
... << RSDN@Home 1.1.4 beta 7 rev. 462>>
Re: Компиляция на диске в памяти
От: bubuka Россия  
Дата: 03.06.05 07:13
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?


RAM-диск какой-нибудь используй. Ну и обязательное дублирование исходников(перед компиляцией на ram переписываем только изменившееся), т.к. даже UPS не гарантия.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 06.06.05 21:01
Оценка:
Здравствуйте, bubuka, Вы писали:

T_B>>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?


B>RAM-диск какой-нибудь используй. Ну и обязательное дублирование исходников(перед компиляцией на ram переписываем только изменившееся), т.к. даже UPS не гарантия.


Так вот, один из вопросов -- какой именно программой для создания RAM-дисков лучше воспользоваться?

Что еще есть кроме ramdrive.sys и http://www.8ung.at/ramdriv/ramdiskent-rus.htm?

Спасибо,
Tuo_Bellas.
Re[5]: Компиляция на диске в памяти
От: execve  
Дата: 06.06.05 21:53
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:

T_B> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...


Код хранится в VCS.
Перед началом компиляции делается checkout из VCS на виртуальный диск.
Результаты компиляции копируются с виртуального диска куда надо.

Соответственно, код можно редактировать где угодно. Главное не забывать изменения в VCS класть.
Re: Компиляция на диске в памяти
От: FreshMeat Россия http://www.rsdn.org
Дата: 07.06.05 03:06
Оценка:
Добрый день, Tuo_Bellas:

Если я правильно понял Ваши предыдущие посты, решение вопроса уже подошло к практической реализации — если Вас не затруднит, отпишите пожалуйста результаты экспериментов — объем используемой памяти, софт для создания виртуального диска, выигрыш производительности и личные впечатления
Спасибо
Хорошо там, где мы есть! :)
Re[6]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 07.06.05 10:00
Оценка:
Здравствуйте, execve, Вы писали:

T_B>> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...


E>Код хранится в VCS.

E>Перед началом компиляции делается checkout из VCS на виртуальный диск.
E>Результаты компиляции копируются с виртуального диска куда надо.

E>Соответственно, код можно редактировать где угодно. Главное не забывать изменения в VCS класть.


Есть одно но -- класть потенциально некомпилирующийся (ведь мы его еще не пытались компилировать) код в vcs -- не хорошо. К тому же просто копировать скриптом изменившийся код с винчестера на виртуальный диск должно получиться дешевле с точки зрения производительности.

Спасибо,
Tuo_Bellas.
Re[2]: Компиляция на диске в памяти
От: Tuo_Bellas Россия  
Дата: 07.06.05 10:03
Оценка:
Здравствуйте, FreshMeat, Вы писали:

FM>Если я правильно понял Ваши предыдущие посты, решение вопроса уже подошло к практической реализации — если Вас не затруднит, отпишите пожалуйста результаты экспериментов — объем используемой памяти, софт для создания виртуального диска, выигрыш производительности и личные впечатления

FM>Спасибо

Да, действительно, в ближайшее время собираюсь вплотную заняться решением данного вопроса. О результатах -- напишу

Спасибо,
Tuo_Bellas.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.