Jeff wrote:Actually, I would not be surprised to see gains on Solaris/SPARC from -O3 with gcc, which enables inlining and register-renaming, although this does make debugging pretty much impossible.
On Wed, 8 Oct 2003, Neil Conway wrote:
What CFLAGS does configure pick for gcc? From src/backend/template/solaris, I'd guess it's not enabling any optimization. Is that the case? If so, some gcc numbers with -O and -O2 would be useful.
I can't believe I didn't think of this before! heh. Turns out gcc was getting nothing for flags.
I added -O2 to CFLAGS and my 60 seconds went down to 21. A rather mild improvment huh?
I did a few more tests and suncc still beats it out - but not by too much now (Not enought to justify buying a license just for compiling pg)
I'll go run the regression test suite with my gcc -O2 pg and the suncc pg. See if they pass the test.
If they do we should consider adding -O2 and -fast to the CFLAGS.
[ CC added for hackers.]
Well, this is really embarassing. I can't imagine why we would not set at least -O on all platforms. Looking at the template files, I see these have no optimization set: darwin dgux freebsd (non-alpha) irix5 nextstep osf (gcc) qnx4 solaris sunos4 svr4 ultrix4
I thought we used to have code that did -O for any platforms that set no cflags, but I don't see that around anywhere. I recommend adding -O2, or at leaset -O to all these platforms --- we can then use platform testing to make sure they are working.
worth testing at least (but I no longer have access to a Solaris machine).
cheers
andrew
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly