Как оптимизировать компиляцию 32-битного приложения в Visual C ++ 2005 на 64-битном Windows Server 2008 - PullRequest
0 голосов
/ 19 сентября 2008

Я только что установил сервер сборки с 64-битным Windows Server 2008 для непрерывной интеграции.

Причина, по которой я выбрал 64-битный сервер, заключалась в том, что у него было более ~ 3 ГБ ОЗУ. Я надеялся, что эта машина обеспечит невероятно быстрые сборки.

К сожалению, результат очень не хватает, если не сказать больше. Мой рабочий стол обеспечивает более быструю сборку, чем этот сервер, оснащенный четырехъядерным процессором Xeon, SAS со скоростью 15 000 об / мин и 8 ГБ оперативной памяти.

Мы используем Visual C ++ 2005 для компиляции нашего 32-битного приложения с помощью Cygwin.

Может ли эмулятор WOW64 стать узким местом, которое замедляет процесс сборки?

Любые указатели, комментарии будут с благодарностью.

С уважением,

Ответы [ 2 ]

1 голос
/ 19 сентября 2008

Мы используем Visual C ++ 2005 для компиляции 32-битное приложение с Cygwin.

Я думаю, что это проблема. Мне очень нравится Cygwin, но он очень медленный, когда дело доходит до файлового ввода-вывода. Это помогает немного деактивировать функцию файловой системы NTFS, чтобы отслеживать последний доступ к файлу.

Чтобы получить лучший порт повышения скорости, ваш build-script / makefile должен использовать встроенную командную оболочку, если это возможно, и вызывать cygwin-tools только в том случае, если на самом деле замены нет.

Если вы используете компилятор gcc, попробуйте версию mingw. Это намного быстрее.

1 голос
/ 19 сентября 2008

WOW64 не является эмулятором на x64. Процессор изначально выполняет 32-битный код x86. В нижней части стека пользовательского режима, под kernel32 и др. , находятся библиотеки DLL, которые отображают системные вызовы на 64-битный интерфейс вызовов.

См. Детали реализации WOW64 .

...