I ran using the maxopt version of ProductionExe on ar0261c3.0001, which has 3454 records. As can be seen below, the distribution of CPU usage differs substantially from the unoptimized version. In particular, almost 14% of the CPU is exercised in bookkeeping (new, free, delete, malloc, std::string etc) and over 8% is used in chebychev fitting for the Silicon pedestals. 2.78% is used in the chebyshev routine, which as far as I can tell could be safely replaced with a couple of non-transient lookup tables. There's a CleverCalc option to get fast polynomials, but nobody tries to save the results, which don't depend on anything but the number of Nstrip (which is set to 128). This should be rewritten, and possibly chebFit can be simplified as well. I know there is an alergy to Singleton objects, but they have their uses.
Modified 25-July-2010 at 10:33
|Previous notes||Next notes||Main slide directory|