Hi, Rene.
I wasn't suggesting you used any `tricks'. I was merely trying to suggest
that it may be possible to write an allocator for an STL container which
will do the same intelligent things regarding object/memory reuse as your
TClonesArray. It may not, of course -- I haven't studied either
TClonesArray or STL allocators in the required detail.
As for the problems, I was using 2.00/13 compiled with KCC v3.3f on Linux
glibc2 using gcc 2.7.2.3 for the C compiler at optimization levels K2 (for
C++) and O2 (for C) (I re-wrote the other makefiles slightly to cope with
OPTS and COPTS). The compile flags were as follows:
CXXFLAGS = --signed_chars -D_EXTERN_INLINE=inline \
--display_error_number \
--diag_suppress 191 -fPIC -I$(OPENGL)/include -DR__GLIBC
CFLAGS = -Wall -fPIC -DR__GLIBC
CINTCXXFLAGS = --signed_chars -D_EXTERN_INLINE=inline \
--display_error_number \
--diag_suppress 191 -fPIC -DG__REGEXP -DG__UNIX
-DG__SHAREDLIB \
-DG__OSFDLL -DG__ROOT -DG__REDIRECTIO
CINTCFLAGS = -Wall -fPIC -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
-DG__OSFDLL -DG__ROOT -DG__REDIRECTIO
The dictionaries were copied rather than generated -- they could not be
generated successfully.
I compiled Pasha's benchmarking program (K2 or K0, it doesn't matter).
When running (eg) 10000 events of 1000 nodes, the program crashes in the
constructor for TObject after 2094 events. I would suggest though, that
you try to do the same thing with your latest version of ROOT rather than
duplicate my problem with an older version.
I hope this is enough information to allow you to reproduce the problem.
Cheers,
Chris.
-- Chris Green. HEP, Purdue University. CDF SVXII project. Based at Fermilab. MAIL greenc@fnal.gov; PHONE (630) 840-2308