Здравствуйте, Igor Sukhov, Вы писали:
IS>с другой стороны я не вижу принципиальной проблемы почему бы студия не могла вытащить список .cpp файлов проекта, и собрать их паралельно — это ведь именно то что и делает dmake.
А разве ключ /MP в настройках компилятора не делает этого? Он как раз и паралелит сборку одного проекта, в отличии от опшенсов, где настраивается кол-во параллельно собираемых проектов. Другое дело, что по каким-то неведомым причинам этот ключ несовместим с некоторыми другими, например прекомпайлед хедерами, но если он таки включается, то на 2-х ядрах ускорение компиляции вполне заметно (на 16 по идее должен смасштабироваться без проблем.)
Здравствуйте, Igor Sukhov, Вы писали:
IS>про это я знаю. студия даже умеет сама (!) поставить туда к-во cores на машине. проблема в том что не получается воспользоваться этой чудесной функциональностью, потому что проекты должны быть независимы, а если проекты независимы, то они обычно не находятся в одном солюшене.
AFAIK это НЕ так начиная с появления этого самого "/MP".
Обрати внимание, в студии "/MP" нет в свойствах проекта, то что ты имел в виду это — это наверное другое (/maxcpucount = maximum number of parallel project builds, msbuild), "/MP" же (AFAIK) надо ставить через "Advanced".
Лучше гигабитную локалку, на 100 мегабитной вряд ли удастся например задействовать больше 10 компов для сборки одновременно.
Хотя зависит от потребностей конечно.
Здравствуйте, bnk, Вы писали:
bnk>AFAIK это НЕ так начиная с появления этого самого "/MP". bnk>Обрати внимание, в студии "/MP" нет в свойствах проекта, то что ты имел в виду это — это наверное другое (/maxcpucount = maximum number of parallel project builds, msbuild), "/MP" же (AFAIK) надо ставить через "Advanced".
Наврал немного. Он есть в свойствах проекта явно, начиная с 2010-ой студии. Но все равно это IMHO хуже Incredibuild,
поскольку, во-первых, /MP имеет некоторые странные ограничения (к примеру, с таким ключом нельзя компилировать файлы содержащие #import),
а во-вторых, работает только в пределах одной машины (распределенная сборка не поддерживается).
Здравствуйте, Igor Sukhov, Вы писали:
IS>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).
Тоже ищу подобное уже несколько лет. Не особо активно, но результаты те же: кроме ИнкредиБилда как-то ничего и нет...
D.K. << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Все на свете должно происходить медленно и неправильно...
Здравствуйте, Igor Sukhov, Вы писали:
IS>Здравствуйте, rm822, Вы писали:
IS>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).
параллельно студия собирать умеет и сама см /MP
или если у вас несколько проектов то в опшнсах есть цифра — сколько параллельно проектов можо запускать на сборку
Здравствуйте, Igor Sukhov, Вы писали:
IS>Здравствуйте, rm822, Вы писали:
IS>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).
Вполне простой в использовании тул, работает весьма эффективно. Настраивается за минуту. Используем его уже более 1.5 лет и никаких претензий нет.
Насчет платности: там есть триальный период, который можно продлить заслав письмо в xorex. Так что можете смело пробовать.
Если ли аналог distrubuted make (dmake -j) для Visual C++ ?
а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть).
Здравствуйте, rm822, Вы писали:
IS>>Здравствуйте, rm822, Вы писали:
IS>>а саму вижуал студию никак твикнуть нельзя? IB стоит денег и наскольк я помню не такой уж и простой тул, а distrubuted make идет сразу с солярис (или с sun studio) и все что нужно сделать это писать dmake -j вместо make (как оно летает на 32 core машинке — это надо видеть). R>параллельно студия собирать умеет и сама см /MP R>или если у вас несколько проектов то в опшнсах есть цифра — сколько параллельно проектов можо запускать на сборку
про это я знаю. студия даже умеет сама (!) поставить туда к-во cores на машине. проблема в том что не получается воспользоваться этой чудесной функциональностью, потому что проекты должны быть независимы, а если проекты независимы, то они обычно не находятся в одном солюшене.
с другой стороны я не вижу принципиальной проблемы почему бы студия не могла вытащить список .cpp файлов проекта, и собрать их паралельно — это ведь именно то что и делает dmake.
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 исходников одновременно?
Здравствуйте, 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+
Здравствуйте, Igor Sukhov, Вы писали:
IS>Если ли аналог distrubuted make (dmake -j) для Visual C++ ?
Я использовал gcc + distcc + ccache. В принципе, прикрутить distcc к MSVS — вполне решаемая за пару дней задача.
Sapienti sat!
Re[2]: Если ли аналог distrubuted make (dmake -j) для Visual
Здравствуйте, bnk, Вы писали:
bnk>AFAIK это НЕ так начиная с появления этого самого "/MP". bnk>Обрати внимание, в студии "/MP" нет в свойствах проекта, то что ты имел в виду это — это наверное другое (/maxcpucount = maximum number of parallel project builds, msbuild), "/MP" же (AFAIK) надо ставить через "Advanced".
bnk>Но вообще тоже порекомендую IncrediBuild. Работает как часы, настоящее японское качество
bnk>Лучше гигабитную локалку, на 100 мегабитной вряд ли удастся например задействовать больше 10 компов для сборки одновременно. bnk>Хотя зависит от потребностей конечно.