4 messages in ru.sysoev.nginxRe: Compiling Nginx with GCC Optimiza...
FromSent OnAttachments
Joe AstonDec 1, 2008 12:49 pm 
191919Dec 1, 2008 7:43 pm 
Igor SysoevDec 2, 2008 1:21 am 
Joe AstonDec 2, 2008 1:43 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Compiling Nginx with GCC Optimization FlagsActions...
From:Igor Sysoev (is@rambler-co.ru)
Date:Dec 2, 2008 1:21:36 am
List:ru.sysoev.nginx

On Mon, Dec 01, 2008 at 08:49:29PM +0000, Joe Aston wrote:

Has anyone done any testing on the optimum GCC compiler flags for compiling Nginx?

I usually use "-O3 -march=core2 -msse -mmmx -msse2 -msse3 -mfpmath=sse -fomit-frame-pointer", but would it be worthwhile using "-funroll-loops" or other options? Would "-O2" be better?

As it was said there is no noticeable difference between -O and -O2 for nginx. I believe -funroll-loops is useless for nginx: nginx has no long loops to unroll. For the same reason mmx/sse is useless too: I saw that Intel C compiler uses them in some loops, but all of them are short and run once on re/configuration phase only.

-fomit-frame-pointer is single usefull option, but I do not use it usually as it makes almost impossible to investigate core dumps.

Has anyone compiled Nginx with the Intel C/C++ Compiler? If so, what settings did you use?

nginx has support for Intel C/C++ Compiler. It runs with "-O -Ob2 -ip" options.