Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 11.10.07 13:44
Оценка:
Привет.

Пишем смарт-клайентовский проект.

В солюшене 30 проектов.
Компиляция и запуск тормозят дико.

Простой запуск проекта из вижуал-студии, при том, что он ап-ту-дейт, занимает 1 минуту.

Интересно, занимался ли кто-нибудь ускорением компиляции.

Если да, то как?

По ускорению работы смарт-клаентов тоже интересно было бы послушать.
Re: Большой проект. Как увеличить скорость.
От: frogkiller Россия  
Дата: 11.10.07 15:09
Оценка: 2 (1)
Здравствуйте, AlexDP, Вы писали:

ADP>Интересно, занимался ли кто-нибудь ускорением компиляции.

ADP>Если да, то как?

см. IncrediBuild
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[2]: Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 11.10.07 15:20
Оценка:
Здравствуйте, frogkiller, Вы писали:

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


ADP>>Интересно, занимался ли кто-нибудь ускорением компиляции.

ADP>>Если да, то как?

F>см. IncrediBuild


Спасибо. Интересно. Но мне надо для .НЕТ, а тут — только для С++.
Re[2]: Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 11.10.07 15:22
Оценка:
Здравствуйте, frogkiller, Вы писали:

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


ADP>>Интересно, занимался ли кто-нибудь ускорением компиляции.

ADP>>Если да, то как?

F>см. IncrediBuild


Ну и самое интересно. В нашем распоряжении только одна машина на каждого.
Так что перекладівание нагрузки на другие компі — не подойдет.
Re[3]: Большой проект. Как увеличить скорость.
От: frogkiller Россия  
Дата: 11.10.07 15:36
Оценка:
Здравствуйте, AlexDP, Вы писали:

ADP>Ну и самое интересно. В нашем распоряжении только одна машина на каждого.

ADP>Так что перекладівание нагрузки на другие компі — не подойдет.

Но вы же, наверное, не всё время компилируете одновременно, а во время дизайна вполне можно пожертвовать частью ресурсов своей машины.
Иначе не понятно, за счёт чего вы хотели повысить скорость. Чудес не бывает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[4]: Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 11.10.07 16:51
Оценка:
Здравствуйте, frogkiller, Вы писали:

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


ADP>>Ну и самое интересно. В нашем распоряжении только одна машина на каждого.

ADP>>Так что перекладівание нагрузки на другие компі — не подойдет.

F>Но вы же, наверное, не всё время компилируете одновременно, а во время дизайна вполне можно пожертвовать частью ресурсов своей машины.

F>Иначе не понятно, за счёт чего вы хотели повысить скорость. Чудес не бывает.

Ну, кэш там оптимизировать. Сделать многопоточную компиляцию (уже нашел как). И т.п.

Да и не согласятся мои товарищи учавствовать в эксперименте.
Re[5]: Большой проект. Как увеличить скорость.
От: michag  
Дата: 13.10.07 20:39
Оценка:
Здравствуйте, AlexDP, Вы писали:

ADP>Ну, кэш там оптимизировать. Сделать многопоточную компиляцию (уже нашел как). И т.п.


Алексей, у нас тоже тормоза при работе с большим солюшеном в Visual Studio 2005 — свободно, гибко, быстро работать, строить, отлаживать — очень неудобно. И как раз пытаюсь узнать, как можно ускорить этот процесс.

Вы написали про многопоточную компиляцию — подскажите, пожалуйста, это возможность самой студии?

Обнаружили ли вы какие-нибудь еще способы ускорения работы с большим солюшеном?
Re[6]: Большой проект. Как увеличить скорость.
От: xtile  
Дата: 13.10.07 23:05
Оценка:
Здравствуйте, michag, Вы писали:

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


ADP>>Ну, кэш там оптимизировать. Сделать многопоточную компиляцию (уже нашел как). И т.п.


M>Алексей, у нас тоже тормоза при работе с большим солюшеном в Visual Studio 2005 — свободно, гибко, быстро работать, строить, отлаживать — очень неудобно. И как раз пытаюсь узнать, как можно ускорить этот процесс.


M>Вы написали про многопоточную компиляцию — подскажите, пожалуйста, это возможность самой студии?


только на уровне проектов ( к примеру у IB многопоточность работает на уровне файлов )
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Большой проект. Как увеличить скорость.
От: Igor Sukhov  
Дата: 14.10.07 08:39
Оценка:
Здравствуйте, AlexDP, Вы писали:

ADP>Ну, кэш там оптимизировать. Сделать многопоточную компиляцию (уже нашел как). И т.п.

по моему студия устанавливает многопоточный режим компиляции автоматически и так же автоматически подстраиваетяс под количество процессоров на машинке, так что врядли поможет.

саму компиляцию можно ускорить если самые редко изменяемые проекты подключать в references как файлы, а не как проекты. компиляцию и скорость запуска проекта можно хорошо ускорить перенеся исходники на быстрый винт, или на RAID (0 или 1 — тот который повышает скорость а не надежность).
* thriving in a production environment *
Re[7]: Большой проект. Как увеличить скорость.
От: michag  
Дата: 14.10.07 16:22
Оценка:
Здравствуйте, xtile, Вы писали:

X>только на уровне проектов ( к примеру у IB многопоточность работает на уровне файлов )


А что такое IB? Это явно не investment banking ))
Re[8]: Большой проект. Как увеличить скорость.
От: xtile  
Дата: 14.10.07 19:03
Оценка:
Здравствуйте, michag, Вы писали:

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


X>>только на уровне проектов ( к примеру у IB многопоточность работает на уровне файлов )


M>А что такое IB? Это явно не investment banking ))


IncrediBuild, www.xoreax.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Большой проект. Как увеличить скорость.
От: michag  
Дата: 15.10.07 06:41
Оценка:
Здравствуйте, xtile, Вы писали:

M>>А что такое IB? Это явно не investment banking ))

X>IncrediBuild, www.xoreax.com

А есть ли такая же штука для C#? IB работает вроде только для С++.
Re: Большой проект. Как увеличить скорость.
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 15.10.07 12:46
Оценка: 1 (1)
Здравствуйте, AlexDP, Вы писали:

ADP>В солюшене 30 проектов.

ADP>Компиляция и запуск тормозят дико.

ADP>Простой запуск проекта из вижуал-студии, при том, что он ап-ту-дейт, занимает 1 минуту.


Очень вряд ли что каждый программист одновременно работает со всеми 30-ю проектами, да и неудобно это крайне. А что вам мешает разбить один большой солюшен на несколько меньших, причем в References вязаться на бинарные версии библиотек? При этом настроить систему сборки (MSBuild, NAnt по вкусу), чтобы весь проект либо отдельную его часть можно было собрать простой командой (такой как "go build" или "go build-commons").
Re[6]: Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 15.10.07 12:47
Оценка:
Здравствуйте, michag, Вы писали:

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


ADP>>Ну, кэш там оптимизировать. Сделать многопоточную компиляцию (уже нашел как). И т.п.


M>Алексей, у нас тоже тормоза при работе с большим солюшеном в Visual Studio 2005 — свободно, гибко, быстро работать, строить, отлаживать — очень неудобно. И как раз пытаюсь узнать, как можно ускорить этот процесс.


M>Вы написали про многопоточную компиляцию — подскажите, пожалуйста, это возможность самой студии?


tools-options-project and solutions — Build and run — maximum number of parallel projects build.

M>Обнаружили ли вы какие-нибудь еще способы ускорения работы с большим солюшеном?


1) Как уже сказали — более быстрый винт. У меня проц при компиляции не достигает 100% загруженности.

2) Обнаружил, что проект с NunitTest*ами ест раз в 5 больше времени, чем остальные. Отключил его билд. Но, понятное дело, что такое отключение
нельзя делать при полной тестировке программы, перед ее заливкой в репозиторий.
Re[10]: Большой проект. Как увеличить скорость.
От: xtile  
Дата: 15.10.07 17:52
Оценка:
Здравствуйте, michag, Вы писали:

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


M>>>А что такое IB? Это явно не investment banking ))

X>>IncrediBuild, www.xoreax.com

M>А есть ли такая же штука для C#? IB работает вроде только для С++.


Если память не изменяет, то для C# нужно в первую очередь оптимизировать скорость дисковых операций. Т.е. raid из рапторов должен серьезно помочь.

еще можно попробовать virtual ram drive
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 25.10.07 15:30
Оценка:
На рам-диск можно перенести директории, bin и debug.
Их пути можно прописать в свойствах каждого проекта .

Но хотелось сделать то же самое но для всего солюшена, чтобы все bin и debug собирались на рам-диске.
Кто-то знает, как изменить пути bin и debug для всех проетов солюшена, меняя при этом только файл солюшена, но не меняя файлы проектов?
Re[2]: Большой проект. Как увеличить скорость.
От: AlexDP Украина  
Дата: 25.10.07 15:32
Оценка:
Здравствуйте, AlexDP, Вы писали:

ADP>На рам-диск можно перенести директории, bin и debug.

ADP>Их пути можно прописать в свойствах каждого проекта .

ADP>Но хотелось сделать то же самое но для всего солюшена, чтобы все bin и debug собирались на рам-диске.

ADP>Кто-то знает, как изменить пути bin и debug для всех проетов солюшена, меняя при этом только файл солюшена, но не меняя файлы проектов?

сорри, имелись ввиду директории bin и obj.
Re[3]: Большой проект. Как увеличить скорость.
От: Lloyd Россия  
Дата: 25.10.07 15:42
Оценка: 2 (1)
Здравствуйте, AlexDP, Вы писали:

ADP>>Но хотелось сделать то же самое но для всего солюшена, чтобы все bin и debug собирались на рам-диске.

ADP>>Кто-то знает, как изменить пути bin и debug для всех проетов солюшена, меняя при этом только файл солюшена, но не меняя файлы проектов?

ADP>сорри, имелись ввиду директории bin и obj.


Можно попробовать с помощью junction замапить эти каталоги на другой (ram) диск. Тогда даже и файл солюшена трогать не нужно будет.
Сам не пробовал, но чем черт не шутит.
Re: Большой проект. Как увеличить скорость.
От: _Obelisk_ Россия http://www.ibm.com
Дата: 25.10.07 17:50
Оценка:
Здравствуйте, AlexDP, Вы писали:

ADP>В солюшене 30 проектов.

ADP>Компиляция и запуск тормозят дико.
ADP>Простой запуск проекта из вижуал-студии, при том, что он ап-ту-дейт, занимает 1 минуту.
ADP>Интересно, занимался ли кто-нибудь ускорением компиляции.
ADP>Если да, то как?

У нас больше сотни модулей. Полный билд на 4-х ядерном компе с RAID-ом занимает час. Проблема с запуском из-под VS решается тем, что не используем солюшен, где все модули. Обычно, работаешь над одним модулем, который непосредственно зависит лишь от нескольких других. Поэтому можно сделать солюшен лишь на нужные модули. Если надо перебилдить все, то запускаем специальный скрипт из command line-а.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re: Большой проект. Как увеличить скорость.
От: criosray  
Дата: 27.10.07 23:10
Оценка:
Здравствуйте, AlexDP, Вы писали:

ADP>Пишем смарт-клайентовский проект.


ADP>В солюшене 30 проектов.

ADP>Компиляция и запуск тормозят дико.

ADP>Простой запуск проекта из вижуал-студии, при том, что он ап-ту-дейт, занимает 1 минуту.


ADP>Интересно, занимался ли кто-нибудь ускорением компиляции.


ADP>Если да, то как?


ADP>По ускорению работы смарт-клаентов тоже интересно было бы послушать.


RamSan

Единственный на данный момент действительно серьезный вариант повысить производительность.

Не из дешевых.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.