Оптимизация за компилиране с GCC

Тези дни се занимавам с търсене за оптимизация на php-то още при компилиране и след малко търсене открих част от това, което търсих, а то е какви опции да подаден на gcc компилатора за да оптимизираме приложението, което компилираме.  В моя случай търси за оптимизация от към тип на процесора. А какво ще рече това,  ами че компилатора да ползва пълноценно инструкцийте, който са заложени в процесора( SSE3 и плаваща запетая и т.н). От това, което открих, че за моя случай аз използвам model name      : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz. Трябва да ползвам опцията „-march=prescott -O2 -pipe -fomit-frame-pointer“. Ползвам „-march=prescott “ защото моята версия на  gcc version 4.1.2 20070626 (Red Hat 4.1.2-14) и няма как да ползвам опцията, която ще бъде в версия 4.3 ( за момента последната стабилна версия е GCC 4.2.3 от 1 февруари 2008) , която дава възможност да се пише „-march=core2“ … и затова за сега ще си ползвам прескот :)  Сега остава да компилирам php-то с всички флагове, който за момента са:

CFLAGS_CLEAN = -I/usr/include -g -O3 -march=prescott -pipe -fomit-frame-pointer, но още чета, че не са ми много на ясни всичките :))

За момента ще го компилирам така,  и ще видим каква производителност ще даде :)

 Продължавам …

Мдаа добре се справя при компилация на php-5.2.5

при make -j10

real    1m12.523s
user    3m16.265s
sys     0m47.374s

Много добре :)

One thought on “Оптимизация за компилиране с GCC”

  1. Допълнение за Xeon :)

    export CHOST=“x86_64-pc-linux-gnu“
    export CFLAGS=“-march=nocona -O3 -pipe -ftree-vectorize -m64″
    export CXXFLAGS=“${CFLAGS}“

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *