Если ли аналог distrubuted make (dmake -j) для Visual C++ ?
От: Igor Sukhov  
Дата: 09.07.10 03:25
Оценка:
Если ли аналог distrubuted make (dmake -j) для Visual C++ ?
* thriving in a production environment *
IncrediBuild
От: rm822 Россия  
Дата: 09.07.10 04:28
Оценка:
-
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: IncrediBuild
От: Igor Sukhov  
Дата: 10.07.10 05:49
Оценка:
Здравствуйте, rm822, Вы писали:

а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).
* thriving in a production environment *
Re[2]: IncrediBuild
От: conraddk Россия  
Дата: 10.07.10 07:57
Оценка: 12 (1)
Здравствуйте, Igor Sukhov, Вы писали:

IS>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).

Тоже ищу подобное уже несколько лет. Не особо активно, но результаты те же: кроме ИнкредиБилда как-то ничего и нет...
D.K. << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Все на свете должно происходить медленно и неправильно...
Re[2]: IncrediBuild
От: rm822 Россия  
Дата: 10.07.10 08:38
Оценка: 12 (1)
Здравствуйте, Igor Sukhov, Вы писали:

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


IS>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).

параллельно студия собирать умеет и сама см /MP
или если у вас несколько проектов то в опшнсах есть цифра — сколько параллельно проектов можо запускать на сборку
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: IncrediBuild
От: szag  
Дата: 10.07.10 08:39
Оценка: 12 (1)
Здравствуйте, Igor Sukhov, Вы писали:

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


IS>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).

Вполне простой в использовании тул, работает весьма эффективно. Настраивается за минуту. Используем его уже более 1.5 лет и никаких претензий нет.
Насчет платности: там есть триальный период, который можно продлить заслав письмо в xorex. Так что можете смело пробовать.
Re[3]: IncrediBuild
От: Igor Sukhov  
Дата: 10.07.10 09:40
Оценка:
Здравствуйте, rm822, Вы писали:

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


IS>>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).

R>параллельно студия собирать умеет и сама см /MP
R>или если у вас несколько проектов то в опшнсах есть цифра — сколько параллельно проектов можо запускать на сборку

про это я знаю. студия даже умеет сама (!) поставить туда к-во cores на машине. проблема в том что не получается воспользоваться этой чудесной функциональностью, потому что проекты должны быть независимы, а если проекты независимы, то они обычно не находятся в одном солюшене.

с другой стороны я не вижу принципиальной проблемы почему бы студия не могла вытащить список .cpp файлов проекта, и собрать их паралельно — это ведь именно то что и делает dmake.
* thriving in a production environment *
Re[3]: IncrediBuild
От: Igor Sukhov  
Дата: 10.07.10 09:42
Оценка:
Здравствуйте, szag, Вы писали:


IS>>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).

S>Вполне простой в использовании тул, работает весьма эффективно. Настраивается за минуту. Используем его уже более 1.5 лет и никаких претензий нет.
S>Насчет платности: там есть триальный период, который можно продлить заслав письмо в xorex. Так что можете смело пробовать.

а умеет ли IB такое — распаралелить компиляцию на одном компьютере. скажем есть у меня xeon на 16 cores — будет ли IB компилировать 16 исходников одновременно?
* thriving in a production environment *
Re[4]: IncrediBuild
От: Аноним  
Дата: 10.07.10 09:49
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>а умеет ли IB такое — распаралелить компиляцию на одном компьютере. скажем есть у меня xeon на 16 cores — будет ли IB компилировать 16 исходников одновременно?


Будет.
Re[4]: IncrediBuild
От: rm822 Россия  
Дата: 10.07.10 09:53
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


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


IS>>>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).

R>>параллельно студия собирать умеет и сама см /MP
R>>или если у вас несколько проектов то в опшнсах есть цифра — сколько параллельно проектов можо запускать на сборку

IS>про это я знаю. студия даже умеет сама (!) поставить туда к-во cores на машине. проблема в том что не получается воспользоваться этой чудесной функциональностью, потому что проекты должны быть независимы, а если проекты независимы, то они обычно не находятся в одном солюшене.


IS>с другой стороны я не вижу принципиальной проблемы почему бы студия не могла вытащить список .cpp файлов проекта, и собрать их паралельно — это ведь именно то что и делает dmake.


я вглубь не копал, т.к. мы пользуемся инкредибилдом послдение несколько лет. Он не без глюков, но в целом со своей задачей справляется.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Если ли аналог distrubuted make (dmake -j) для Visual C+
От: Cyberax Марс  
Дата: 10.07.10 09:57
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>Если ли аналог distrubuted make (dmake -j) для Visual C++ ?

Я использовал gcc + distcc + ccache. В принципе, прикрутить distcc к MSVS — вполне решаемая за пару дней задача.
Sapienti sat!
Re[4]: IncrediBuild
От: 24  
Дата: 10.07.10 10:04
Оценка: 18 (1)
Здравствуйте, Igor Sukhov, Вы писали:

IS>с другой стороны я не вижу принципиальной проблемы почему бы студия не могла вытащить список .cpp файлов проекта, и собрать их паралельно — это ведь именно то что и делает dmake.


А разве ключ /MP в настройках компилятора не делает этого? Он как раз и паралелит сборку одного проекта, в отличии от опшенсов, где настраивается кол-во параллельно собираемых проектов. Другое дело, что по каким-то неведомым причинам этот ключ несовместим с некоторыми другими, например прекомпайлед хедерами, но если он таки включается, то на 2-х ядрах ускорение компиляции вполне заметно (на 16 по идее должен смасштабироваться без проблем.)
Re[2]: Если ли аналог distrubuted make (dmake -j) для Visual
От: conraddk Россия  
Дата: 10.07.10 11:13
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Я использовал gcc + distcc + ccache. В принципе, прикрутить distcc к MSVS — вполне решаемая за пару дней задача.

http://zenit.senecac.on.ca/wiki/index.php/Distcc_With_MSVC
D.K. << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Все на свете должно происходить медленно и неправильно...
Re[4]: IncrediBuild
От: bnk СССР http://unmanagedvisio.com/
Дата: 10.07.10 11:22
Оценка: 18 (1)
Здравствуйте, Igor Sukhov, Вы писали:

IS>про это я знаю. студия даже умеет сама (!) поставить туда к-во cores на машине. проблема в том что не получается воспользоваться этой чудесной функциональностью, потому что проекты должны быть независимы, а если проекты независимы, то они обычно не находятся в одном солюшене.


AFAIK это НЕ так начиная с появления этого самого "/MP".
Обрати внимание, в студии "/MP" нет в свойствах проекта, то что ты имел в виду это — это наверное другое (/maxcpucount = maximum number of parallel project builds, msbuild), "/MP" же (AFAIK) надо ставить через "Advanced".

Но вообще тоже порекомендую IncrediBuild. Работает как часы, настоящее японское качество
Автор: qwertyuiop
Дата: 17.07.07

Лучше гигабитную локалку, на 100 мегабитной вряд ли удастся например задействовать больше 10 компов для сборки одновременно.
Хотя зависит от потребностей конечно.
Re[5]: IncrediBuild
От: bnk СССР http://unmanagedvisio.com/
Дата: 10.07.10 11:34
Оценка: 18 (1)
Здравствуйте, bnk, Вы писали:

bnk>AFAIK это НЕ так начиная с появления этого самого "/MP".

bnk>Обрати внимание, в студии "/MP" нет в свойствах проекта, то что ты имел в виду это — это наверное другое (/maxcpucount = maximum number of parallel project builds, msbuild), "/MP" же (AFAIK) надо ставить через "Advanced".

Наврал немного. Он есть в свойствах проекта явно, начиная с 2010-ой студии. Но все равно это IMHO хуже Incredibuild,
поскольку, во-первых, /MP имеет некоторые странные ограничения (к примеру, с таким ключом нельзя компилировать файлы содержащие #import),
а во-вторых, работает только в пределах одной машины (распределенная сборка не поддерживается).
Re[5]: IncrediBuild
От: Igor Sukhov  
Дата: 11.07.10 05:13
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>AFAIK это НЕ так начиная с появления этого самого "/MP".

bnk>Обрати внимание, в студии "/MP" нет в свойствах проекта, то что ты имел в виду это — это наверное другое (/maxcpucount = maximum number of parallel project builds, msbuild), "/MP" же (AFAIK) надо ставить через "Advanced".

bnk>Но вообще тоже порекомендую IncrediBuild. Работает как часы, настоящее японское качество
Автор: qwertyuiop
Дата: 17.07.07

bnk>Лучше гигабитную локалку, на 100 мегабитной вряд ли удастся например задействовать больше 10 компов для сборки одновременно.
bnk>Хотя зависит от потребностей конечно.

разобрался. спасибо.
* thriving in a production environment *
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.