Performances of the Ntuple Query Processor since PAW version 2.07


Quick tests comparing the performances of the PAW Ntuple Query Processor since version 2.07 with previous versions, show an average performance decrease by a factor between 2 and 3, depending on the platform, the job etc.

More detailed tests show that reality is a bit different !

We compared the new and the old version on a NT/PL statement on a 100 Mbyte ntuple plotting both a simple ntuple variable and a mathematical expression computed over the same variable.

The test has been repeated booking the resulting histogram first, to figure out the overhead due to the histogram min/max computation. The macro file is something like that:

hi/fil 1 big-charm.hbook
* A fake plot just to fill the caches
nt/pl 10.px4
* Book two histograms
1d 11 'Simple var' 100 -50 350
1d 22 'Simple expr' 100 -1 1
* NT/PL using the default resulting histogram
nt/pl 10.px4
nt/pl 10.sin(px4)
* NT/PL using previously booked histograms
nt/pl 10.px4 idh=11
nt/pl 10.sin(px4) idh=22
*
close 1

Results are summarized in the following table:

OLD version NEW version with IDH ?
Simple variable

2.6 s

10.6 s

NO

Simple variable

2.6 s

5.5 s

YES

Expression

7.5 s

13.8 s

NO

Expression

7.5 s

7.0 s

YES

We see that the use of a predefined histogram gives a speedup by factor 2 on the new PAW, which looks logical since when no histogram is previously booked, data have to be scanned twice, one for the min/max computation, one for the histogram filling.

It seems that the old PAW does not have a penalty for min/max computation . The comparison of 'Simple variable' VS. 'Expressions' is interesting as well: while the old PAW is much faster when plotting a simple ntuple variable, the new version is a bit faster when a function has to be plot (which is the most realistic case).


Release Notes Known bugs FAQs Contributions Tutorial Reference manual Down load Miscellaneous

Olivier.Couet@Cern.Ch