Peter Eisentraut napsal(a):
Paul van den Bogaard wrote:
The SunStudio compiler we are using fortunately has an option for this. Unfortunately there are restrictions. One restriction I face is its inability to deal with "ld -r"s. These are used in the build environment to create all the SUBSYS.o object files.

I was hoping someone in the community already has a makefile that "just" creates object files from C-sources directly that I can use to try out the effect of in-lining to the performance of postgres.

I don't know if anyone has a makefile for it, but the following seems to work
for me:

pgsql/src/backend$ cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline 
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -g -L../../src/port  
-Wl,-rpath,'/home/peter/devel/pg83/pg-install/lib' -Wl,-E $(find -name "*.o" | 
grep -v SUBSYS | grep -v conversion_procs) ../../src/timezone/SUBSYS.o 
../../src/port/libpgport_srv.a -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lcrypt 
-ldl -lm -lldap -o postgres

If you find that the optimizations you are hoping for are useful, I'm sure
we could put an option of that sort somewhere in the makefiles.

Peter,
Suns studio performs inline optimization on -xO3 level. Optimization levels are different from GCC. Maximal level is -xO5. I think Paul plays with xipo flag which requires at least -xO4.

See
http://docs.sun.com/app/docs/doc/819-5265/bjapp?a=view

                Zdenek

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to