This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Optimization for Newer Processors


Top of the morning to y¹all!

I¹m a bit curious as to what optimization flags are in the newest compilers
and how they¹d work with the newest CPU¹s versus the last generation of
CPU¹s.

Our older systems we Dell Precision T5400 workstations with dual Intel Xeon
5420 CPU¹s at 2.33GHz with 6MB of cache per core.  The cache breaks out to
be 32k of L1 cache and 6MB of L2 cache.

Now, we¹re getting Dell Precision T5500 workstations with dual Intel Xeon
5506 CPU¹s at 2.21GHz with 4MB of cache per core.  But, the cache breaks
down as 32k L1 cache, 256k L2 cache and 4096k L3 cache.

Out application is very processor and disk I/O intensive and it runs about
6x slower on the newer hardware versus the old.  We¹re currently compiling
with gcc-4.1.1 using the following optimization flags on Fedora Core 5 using
a 2.6.16.16 kernel.  As it happens, the code runs seemlessly on CentOS 5.2
with a 2.6.18 kernel as well.  Upgrading compilers, if there is a compelling
reason is an option for us.  Upgrading kernels, at this time is not an
option because of 3rd party hardware support.

Our compiler flags are:

-g ­O2 ­funroll-loops ­finline-limit=2750 ­pipe ­ansi ­pedantic ­Wimplicit
­Wconversion ­Wsign-compare ­Wno-long-long ­Wreorder ­Woverloaded-virtual
­Wsign-promo ­march=pentium4 ­mfpmath=sse ­malign-double

(Not necessarily in this order... But, is order important???)

Thanks,

-b
-- 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]