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

StackOverflow https://stackoverflow.com/questions/102377

Вопрос

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

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

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

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

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

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

С уважением,

Это было полезно?

Решение

Мы используем Visual C ++ 2005, чтобы скомпилировать наше 32 -битное приложение с Cygwin.

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

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

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

Другие советы

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

Видеть Детали реализации WOW64.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top