Распределенные инструменты сборки в Visual C ++? - PullRequest
2 голосов
/ 10 мая 2011

Мы работаем над довольно большим программным обеспечением промежуточного программного обеспечения, и нам требуется 10-20 минут каждый раз, когда нам нужно пересобрать все решение в VS2008 (четырехъядерная параллельная сборка на одной машине).Я слышал, что есть довольно дорогие VS-расширения, такие как Incredibuild, которые используют другие машины в вашей сети (у нас около 10 машин).Вы когда-нибудь использовали или слышали об этих инструментах?Делают ли они процесс сборки настолько быстрым и умным, чтобы стоить денег?(например, повторно использовать объектные файлы, которые могут быть кэшированы на разных компьютерах)

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 10 мая 2011

Ну, у нас были похожие проблемы, за исключением того, что в нашем случае сборка заняла более 40 минут.

В Visual Studio 2008 мы использовали Xoreax Incredibuild (см. веб-сайт Xoreax ), и это значительно сократило время сборки (т.е. вдвое меньше или лучше).Так что я бы сказал, да, такой инструмент может помочь.И, на мой взгляд, это не так дорого (то есть от 250 до 500 долларов США за место в зависимости от дополнительных опций, и есть некоторые скидки на объемные покупки).

Сейчас мы находимся на VS 2010 и в то время, когда мыВ обновленной версии 2010 года поддержка Incredibuild отсутствовала, поэтому мы полагаемся на сборку VS2010.У всех разработчиков есть четырехъядерные процессоры, и сборка в VS 2010 хорошо использует это, поэтому время сборки приемлемо.Мы также рассмотрели и улучшили наши включения и улучшили использование предварительно скомпилированных заголовков и т. Д.

Итак, вы можете попробовать Xoreax Incredibuild (у них есть полнофункциональная 30-дневная пробная версия, которая может быть продлена по истечении срока ее действия), чтобывозможность определить, подходит ли соотношение цена / выгода для вашего случая, или пересмотреть и улучшить ваши включения и / или обновить до VS2010, если у вас многоядерные машины.

2 голосов
/ 10 мая 2011

Согласен с предыдущим ответом. У нас был похожий опыт; время сборки действительно значительно снижается. Сначала мы пошли с простой настройкой Incredibuild; используя запасную емкость на других машинах. Преимущества были очевидны, но мы осознали, что можем получить еще более быстрые сборки, добавив выделенный сервер сборки (хотя у нас гораздо больше разработчиков - более 100 клиентов - так что YMMV) * ​​1001 *

Что касается затрат, вполне вероятно, что Incredibuild увеличит производительность вашего разработчика как минимум на 1%.

...