On Fri, 6 May 2005, [Windows-1251] Митрофанов Михаил Владимирович wrote:
On Fri, 6 May 2005, [Windows-1251] Митрофанов Михаил Владимирович wrote:
Не подскажите, какие опции/параметры оптимизации мне указать компилятору,
для лучшей сборки nginx на двух-процессорной машине на XEONах?
Какая ОС ?
FreeBSD 5.3
Если xeon'ы - p4, то
./configure ... --with-cpu-opt=pentium4
для gcc тогда будет использоваться ключ -march=pentium4
По умолчанию для gcc используется оптимизация -O, можно поставить
--with-cc-opt="-O2 -fomit-frame-pointer".
Ещё можно собрать интеловским компилятором - icc.
Как это сделать, очень интересно.
Отвечаю в список, может кому ещё пригодится.
cd /usr/ports/lang/icc/ && make install
Оно предложит сходить на http://www.intel.com/software/products/compilers/
Там нужно искать free non-commercial download. Оно предложит
зарегистироваться и получить лицензию, потом направит на
ftp://download.intel.com/software/products/compilers/downloads/
Там сейчас есть l_cc_pc_8.1.028.tar.gz, а в портах уже есть 8.1.030,
поэтому порт нужно накатить примерно на 7 марта.
8.1.030 можно тоже получить, для этого нужно идти на
https://premier.intel.com. Там оно попросит serial number of purchased
product. Хотя ничего не покупалось, можно вводить присланный вместе
с лицензией serial number. Оно даст доступ к последним версиям.
Компилятор линуксовый, поэтому потребуется также установка linux_base-8.
А ещё можно собрать библиотеки PCRE и zlib вместе с nginx.
а это путем добавления в линковщик -lz -lpcre, так?
Нет, в этом случае будут прилинкованы системные библиотеки.
Для того, чтобы PCRE и zlib были собраны тем же icc, нужно указать
путь к исходникам этих библиотек параметрами:
--with-pcre=... и --with-zlib=...
Кроме того, можно указать для каждой библиотеки свои параметры оптимизации:
--with-pcre-opt=... и --with-zlib-opt=...
Для zlib можно ещё указать исопльзование ассемблерного кода
--with-zlib-asm=[pentium|pentiumpro]
Игорь Сысоев
http://sysoev.ru