Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Извините, но таки все, что можно уже разбито, и precompiled headers во всю используются. К тому же, как не разбивай, а суммарный объем промежуточных файлов, сливающихся в один экзешник при линковке -- более-менее постоянен...
В общем, ожидаемый ответ
Может вам тогда вот эта штука подойдет. Gigabyte обещала выпустить в продажу уже в июле этого года.... т.е. где-то осенью можно будет купить.
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Всем привет!
T_B>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.
T_B>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?
T_B>Спасибо, T_B>Tuo_Bellas.
E>>А какие проблемы в том, чтобы держать исходники на винте, а объектники на виртуальном диске? E>>Имхо, даже в VS можно настраивать пути для расположения объектных файлов и других результатов компиляции. E>>Да и другие инструменты для управления компиляцией позволяют это делать.
T_B>Да, наверное, можно и так.
Или можно вообще просто link сделать (под NT reparse point) и всё, сорци на HDD, bin, obj, Debug, Release линками на RAM Drive, ну а после билда (если конечно это нужно) можно копию результата куда-нибудь на HDD сделать
Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.
Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Здравствуйте, avbochagov, Вы писали:
T_B>>>Извините, но таки все, что можно уже разбито, и precompiled headers во всю используются. К тому же, как не разбивай, а суммарный объем промежуточных файлов, сливающихся в один экзешник при линковке -- более-менее постоянен...
A>>В общем, ожидаемый ответ
A>>Может вам тогда вот эта штука подойдет. Gigabyte обещала выпустить в продажу уже в июле этого года.... т.е. где-то осенью можно будет купить.
T_B>Штука-то хорошая, но на каждую девелоперскую машину ставить -- дороговато. На билд-сервер -- да, пожалуй. Только это не снимает вопроса, как же этот билд-сервер организовать. Anyone?
T_B>Спасибо, T_B>Tuo_Bellas.
Посмотрите на [http://www.viewtier.com/products/parabuild/index.htm]Parabuild[/url] — это сервер билдов котороый позволяет организовать continuous integration и ночные/дневные билды. Сейчас идет Early Access Program и за каждый найденый баг обещают бесплатные лицензии.
Здравствуйте, Tuo_Bellas, Вы писали:
T_B> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...
А какие проблемы в том, чтобы держать исходники на винте, а объектники на виртуальном диске?
Имхо, даже в VS можно настраивать пути для расположения объектных файлов и других результатов компиляции.
Да и другие инструменты для управления компиляцией позволяют это делать.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать.
А вообще-то при компиляции проекта все упирается в проц! Во всяком случае у меня... и на всех соседних машинах...Разве у тебя не так?
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Всем привет!
T_B>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.
T_B>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?
УПС — или так сказать, или устройство такое поставить
T_B>Спасибо, T_B>Tuo_Bellas.
Здравствуйте, ilnar, Вы писали:
T_B>>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать. Про IncrediBuild знаю. Но хочу рассмотреть локальные решения, тем более, что инкредибилд, зараза, дорогой. Примерно в одну ценовую категорию попадает покупка RAID-0 и покупка двух гигов памяти и устройство на ней виртуального диска для компиляции.
T_B>>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества? I>УПС — или так сказать, или устройство такое поставить
Здравствуйте, ilnar, Вы писали:
T_B>>Я имею ввиду программно, с упсом понятно
I>hibernate — самое то продолжишь как дадут электричество (понимаю беспокойство моквичей :-D )
Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Здравствуйте, ilnar, Вы писали:
T_B>>>Я имею ввиду программно, с упсом понятно
I>>hibernate — самое то продолжишь как дадут электричество (понимаю беспокойство моквичей :-D )
T_B> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...
может просто столько не париться? это же все-таки просто компиляция, а не транзакция на млрд енотов.
T_B>Спасибо, T_B>Tuo_Bellas.
Здравствуйте, eao197, Вы писали:
T_B>> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...
E>А какие проблемы в том, чтобы держать исходники на винте, а объектники на виртуальном диске? E>Имхо, даже в VS можно настраивать пути для расположения объектных файлов и других результатов компиляции. E>Да и другие инструменты для управления компиляцией позволяют это делать.
Да, наверное, можно и так.
А как насчет других вопросов? Кто-нибудь вообще пробовал такими извращениями заниматься?
Здравствуйте, LMars, Вы писали:
T_B>>Размер временных файлов проекта стал подбираться к гигабайту. Время линковки и компиляции начинает несколько напрягать.
LM> А вообще-то при компиляции проекта все упирается в проц! Во всяком случае у меня... и на всех соседних машинах...Разве у тебя не так?
Гиг промежуточных файлов в двенадцати либах. По любому, ускорение работы с диском ускорит компиляцию. У тебя сколько промежуточных файлов генерится?
T_B>Гиг промежуточных файлов в двенадцати либах. По любому, ускорение работы с диском ускорит компиляцию. У тебя сколько промежуточных файлов генерится?
Ну наверное ускорит, только на сколько. У меня конечно гига объектников нет... чуть более ста метров. И вижу что узкое место — это проц.
ИнкредиБилд то почему появился... и почему с ним быстрее... потому что он дополнительные процы привлекает к компиляции! При этом работа с файлами у него только ухудшается... он же их еще и по сети гоняет!
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?
RAM-диск какой-нибудь используй. Ну и обязательное дублирование исходников(перед компиляцией на ram переписываем только изменившееся), т.к. даже UPS не гарантия.
Здравствуйте, bubuka, Вы писали:
T_B>>Если с инкредибилдом и рэйдом все более-менее ясно, то про компиляцию на диске в памяти я слышал только краем уха. Кто-нибудь этим занимался? Какие впечатления? Какими тулзами для этого пользовались? Сильно ли увеличилась скорость? Как уберечься от внезапного отключения электричества?
B>RAM-диск какой-нибудь используй. Ну и обязательное дублирование исходников(перед компиляцией на ram переписываем только изменившееся), т.к. даже UPS не гарантия.
Так вот, один из вопросов -- какой именно программой для создания RAM-дисков лучше воспользоваться?
Здравствуйте, Tuo_Bellas, Вы писали:
T_B> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...
Код хранится в VCS.
Перед началом компиляции делается checkout из VCS на виртуальный диск.
Результаты компиляции копируются с виртуального диска куда надо.
Соответственно, код можно редактировать где угодно. Главное не забывать изменения в VCS класть.
Если я правильно понял Ваши предыдущие посты, решение вопроса уже подошло к практической реализации — если Вас не затруднит, отпишите пожалуйста результаты экспериментов — объем используемой памяти, софт для создания виртуального диска, выигрыш производительности и личные впечатления
Спасибо
Здравствуйте, execve, Вы писали:
T_B>> Я, все же, несколько о другом. Если компилять на диске в памяти, то где редактировать код? Если это делать на винте, а перед компиляцией копировать на виртуальный диск, то проблем с отключением электричества это не прибавит. Но появятся проблемы с тем, как запускать процесс компиляции, (кое-какие скрипты, думаю, придется написать). Если же редактировать код непосредственно на виртуальном диске, то проблем с запуском компиляции не должно быть, но появляются проблемы при отключении электричества. UPS, впрочем, их в большинстве своем решает...
E>Код хранится в VCS. E>Перед началом компиляции делается checkout из VCS на виртуальный диск. E>Результаты компиляции копируются с виртуального диска куда надо.
E>Соответственно, код можно редактировать где угодно. Главное не забывать изменения в VCS класть.
Есть одно но -- класть потенциально некомпилирующийся (ведь мы его еще не пытались компилировать) код в vcs -- не хорошо. К тому же просто копировать скриптом изменившийся код с винчестера на виртуальный диск должно получиться дешевле с точки зрения производительности.
Здравствуйте, FreshMeat, Вы писали:
FM>Если я правильно понял Ваши предыдущие посты, решение вопроса уже подошло к практической реализации — если Вас не затруднит, отпишите пожалуйста результаты экспериментов — объем используемой памяти, софт для создания виртуального диска, выигрыш производительности и личные впечатления FM>Спасибо
Да, действительно, в ближайшее время собираюсь вплотную заняться решением данного вопроса. О результатах -- напишу
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Что еще есть кроме ramdrive.sys и http://www.8ung.at/ramdriv/ramdiskent-rus.htm?
К сожалению не пользовался ни одной, поэтому посоветовать вряд ли что смогу
Здравствуйте, Tuo_Bellas, Вы писали:
FM>>Если я правильно понял Ваши предыдущие посты, решение вопроса уже подошло к практической реализации — если Вас не затруднит, отпишите пожалуйста результаты экспериментов — объем используемой памяти, софт для создания виртуального диска, выигрыш производительности и личные впечатления FM>>Спасибо
T_B>Да, действительно, в ближайшее время собираюсь вплотную заняться решением данного вопроса. О результатах -- напишу
Пока -- никак. На 1.5 Гб выделяю 1.1 под диск, сборка идет медленнее чем просто так, не хватает оперативки (правда настройками много не игрался). Для дальнейших экспериментов нужно добыть еще две планки на 512, но пока нет времени.
Перешли было на инкредибилд, фулл-ребилд стал компилиться быстрее где-то на треть на пяти машинах (примерно одинаковых). Появившийся в 2.30 инкредилинк не удалось заставить работать, линковка все равно занимает много времени.
Потом обстоятельства заставили перейти на интел 9.0. Время на сборку сразу выросло (теперь за 30 минут), и инкредибилд его еще не понимает, только 8.1.
Посему -- вопрос. Что еще можно прикрутить для ускорения сборки? В принципе, в соседней комнате стоит довольно мощный (и мало загруженный) рендер-сервер под Windows 2003 Server, на который можно было бы перенести сборку -- все быстрее чем на девелоперской машине. Но встает вопрос синхронизации исходников и удаленного управления сборкой.
Какие вы знаете готовые инструменты для этого? В идеале, чтобы еще и .vcproj, .sln и интеловские файлы проектов читали...
Какие из них вы реально использовали, и каковы ваши впечатления?
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Здравствуйте, Tuo_Bellas, Вы писали:
FM>>>Если я правильно понял Ваши предыдущие посты, решение вопроса уже подошло к практической реализации — если Вас не затруднит, отпишите пожалуйста результаты экспериментов — объем используемой памяти, софт для создания виртуального диска, выигрыш производительности и личные впечатления FM>>>Спасибо
T_B>>Да, действительно, в ближайшее время собираюсь вплотную заняться решением данного вопроса. О результатах -- напишу
T_B>Пока -- никак. На 1.5 Гб выделяю 1.1 под диск, сборка идет медленнее чем просто так, не хватает оперативки (правда настройками много не игрался). Для дальнейших экспериментов нужно добыть еще две планки на 512, но пока нет времени.
У нас сборка на Delphi, но результаты получились похожие — из 2 gb(занято 700 мб), выделил 300 мб под RAM диск с общими библиотеками.
Получил %10-%20 прирост .
это на отдельном сервере для сборки...
получатся узкое место это процессор...
Здравствуйте, avbochagov, Вы писали:
T_B>>Какие вы знаете готовые инструменты для этого? В идеале, чтобы еще и .vcproj, .sln и интеловские файлы проектов читали...
A>Извините, но может стоит попробовать разбить проект на модули? (возможно у вас это уже сделано).
A>И еще один дурацкий вопрос: вы используете PCH?
Извините, но таки все, что можно уже разбито, и precompiled headers во всю используются. К тому же, как не разбивай, а суммарный объем промежуточных файлов, сливающихся в один экзешник при линковке -- более-менее постоянен...
Здравствуйте, avbochagov, Вы писали:
T_B>>Извините, но таки все, что можно уже разбито, и precompiled headers во всю используются. К тому же, как не разбивай, а суммарный объем промежуточных файлов, сливающихся в один экзешник при линковке -- более-менее постоянен...
A>В общем, ожидаемый ответ
A>Может вам тогда вот эта штука подойдет. Gigabyte обещала выпустить в продажу уже в июле этого года.... т.е. где-то осенью можно будет купить.
Штука-то хорошая, но на каждую девелоперскую машину ставить -- дороговато. На билд-сервер -- да, пожалуй. Только это не снимает вопроса, как же этот билд-сервер организовать. Anyone?