Re[17]: Fwd: [Gc] Performance of bdwgc7.2 had degraded compared to 6.8 - the patch to test

Ivan Maidanski ivmai at mail.ru
Fri Dec 3 22:56:11 PST 2010


Hello Manuel,

1. Also, the command line for v72a2 includes -DNO_EXECUTE_PERMISSION -fexceptions.

2.  Please also do benchmarking with that small patch I've attached in my previous post.

Sat, 4 Dec 2010 06:07:27 +0100 Manuel.Serrano at inria.fr:

> ALL_INTERIOR is not the reason for the different performance because
> with 7.2alpha4 the Makefile issues commands such as:
> 
> /bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include
> -I./include   -fexceptions -O3  -DNO_DEBUGGING -Iinclude
> -Ilibatomic_ops-install/include -DFINALIZE_ON_DEMAND 
> -I/misc/lab/bigloo/bench/3.5b-7.2alpha4/bigloo3.5b/lib/3.5b -fPIC -MT alloc.lo
> -MD -MP -MF .deps/alloc.Tpo -c -o alloc.lo alloc.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -fexceptions
> -O3 -DNO_DEBUGGING -Iinclude -Ilibatomic_ops-install/include
> -DFINALIZE_ON_DEMAND
> -I/misc/lab/bigloo/bench/3.5b-7.2alpha4/bigloo3.5b/lib/3.5b -fPIC -MT alloc.lo
> -MD -MP -MF .deps/alloc.Tpo -c alloc.c  -fPIC -DPIC -o .libs/alloc.o
> libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -fexceptions
> -O3 -DNO_DEBUGGING -Iinclude -Ilibatomic_ops-install/include
> -DFINALIZE_ON_DEMAND
> -I/misc/lab/bigloo/bench/3.5b-7.2alpha4/bigloo3.5b/lib/3.5b -fPIC -MT alloc.lo
> -MD -MP -MF .deps/alloc.Tpo -c alloc.c -o alloc.o >/dev/null 2>&1
> mv -f .deps/alloc.Tpo .deps/alloc.Plo
> 

Sat, 4 Dec 2010 05:38:32 +0100 Manuel.Serrano at inria.fr:

> Hi Ivan,
> 
> > Please confirm that you don't compile GC (for this benchmark) with
> > multi-threading support and don't use GC_DEBUG (and GC_debug_
> > routines).
> I do confirm that if I use these I'm not aware of it. On our side, there
> is a change between 7.1 and 7.2: up to 7.1 we were using Makefile.direct
> and from 7.2 we switched to using the generated Makefile. The
> generated Makefile adds many compilation options. For the sake of the
> example, here the command issued by Make to compile the file alloc.c of
> the version 7.2
> 
> gcc -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\"
> -DPACKAGE_VERSION=\"7.2alpha2\" "-DPACKAGE_STRING=\"gc
> 7.2alpha2\"" -DPACKAGE_BUGREPORT=\"Hans.Boehm at hp.com\"
> -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=2 -DGC_ALPHA_VERSION=2
> -DPACKAGE=\"gc\" -DVERSION=\"7.2alpha2\" -DSTDC_HEADERS=1
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1
> -DALL_INTERIOR_POINTERS=1 -DATOMIC_UNCOLLECTABLE=1 -I./include -fexceptions -I
> libatomic_ops/src -O3 -DNO_DEBUGGING -Iinclude -Ilibatomic_ops-install/include
> -DFINALIZE_ON_DEMAND
> -I/misc/lab/bigloo/bench/3.5b-7.2alpha2-test2/bigloo3.5b/lib/3.5b -fPIC -fPIC
> -I/misc/lab/bigloo/bench/3.5b-7.2alpha2-test2/bigloo3.5b/lib/3.5b -MT alloc.lo
> -MD -MP -MF .deps/alloc.Tpo -c alloc.c -o alloc.o >/dev/null 2>&1
> 
> For the version 7.1, we have:
> 
> gcc  -O3  -DNO_DEBUGGING -Iinclude -Ilibatomic_ops-install/include
> -DFINALIZE_ON_DEMAND  -I/misc/lab/bigloo/bench/3.5b-7.1/bigloo3.5b/lib/3.5b
> -fPIC   -c -o alloc.o alloc.c
> 
> Could the differences in the compilation options be the reason for the
> performance slowdown? In particular, what's the impact of
> -DALL_INTERIOR_POINTERS=1? I will run the benchmark without this option
> and come back to you when done (when I will have been able to 
> understand how to tweak the Makefile for not using this option
> anymore).
> 
> -- 
> Manuel
> 
> 
> ATTACHMENT: application/pgp-signature



More information about the Gc mailing list