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