Re: benchmarking TClonesArray vs STL vector

From: Chris Green (greenc@fnal.gov)
Date: Wed Dec 16 1998 - 15:34:46 MET


> I have now a few comments concerning Chris Green's mail.
> We do not play any special trick in TClonesArray. We simply exploit
> at best a standard (and not well known) C++ functionality.
> Chris mentions reliability problems with TClonesArray.
> Could you forward to us any evidence/description of these problems?

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



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:41 MET