TEntryList: chain->SetEntryList(elist) is ineffective


For my analysis I have adapted the runProof.C and h1analysis.C.h from the tutorials. Creation of the elist (fillList option) and its subsequent usage (run with useList optiion) go smoothly.

My cuts select 1/700 of all events, and I would expext that running with the chain->SetEntryList(elist) will be about 700 times faster, but nope. Below I typed the speedometer readings:

“fillList” run:
24 parallel workers
8437 files
Initialization time: 273.7 secs
Processing time: 2 h 20 min 52 sec
Processed: 359351439 events (66.40 GB)
Processing rate: 42514.9 evts/sec (8.0 MB/sec)

“useList” run:
24 parallel workers
8437 files
Initialization time: 218.8 secs
Processing time: 2 h 5 min 11 sec
Processed: 454923 events (62.93 GB)
Processing rate: 60.6 evts/sec (8.6 MB/sec)

Where is the speed gain ?!

Has anyone stumbled against something similar?

FYI: I’m using 5.34/04 on nafhh-zeus01.desy.de running 2.6.32-504.12.2.el6.x86_64

Thanks !!


There is not much experience in running with entry lists in PROOF (I believe also in general, but I may be wrong).
In your case the amount of data read is only 10% less, which is probably what determines the processing time.

Anyhow, I could reproduce a similar problem in another case, I will investigate and let you know.

Where are the files located with respect to the workers?

G Ganis

FYI, I have created a JIRA issue:

G Ganis


Data is “online”. The files are reachable like