Skip to Content.
Sympa Menu

sphenix-software-l - [Sphenix-software-l] Quick study on storage containers

sphenix-software-l AT lists.bnl.gov

Subject: sPHENIX discussion of software

List archive

Chronological Thread  
  • From: Christof E Roland <cer AT mit.edu>
  • To: "sphenix-software-l AT lists.bnl.gov" <sphenix-software-l AT lists.bnl.gov>
  • Subject: [Sphenix-software-l] Quick study on storage containers
  • Date: Fri, 8 Apr 2022 11:46:01 +0000

Hi,

following our discussion on Tuesday i did a quick study on our storage
containers, especially the ones using maps, i.e. the hitsetcontainer.
The hitsetcontainer is the construct storing what is, from the reco software
point of view, the closest representation of raw data we have defined.

I filled the hitsetcontainer with either 5 k or ~5.5 million fake hits per
event and looked at the evolution of the memory footprint of the jobs using
the prmon tool. From the difference between the low and high occupancy case I
canlculate the job memory "price tag" of storing a hit, i.e. 3 unint32 - 12
bytes.

Storing 5 million extra hits in a std map increases the job memory by 0.5GB.
This corresponds to a ~100byte effective memory price tag including all the
overhead
and pre allocated memory around stl maps.

Using TObjArrays its about 60 byte

For stl vectors its ~14 which, given the precision with which you can read
off the GB job memory scale in prmon, is equal to the 12 bytes you expect.

I guess we should investigate to which extend we can get rid of maps wherever
we can.

Cheers

Christof


Attachment: smime.p7s
Description: S/MIME cryptographic signature




Archive powered by MHonArc 2.6.24.

Top of Page