1 #if !defined( __CINT__) || defined(__MAKECINT__)
5 #include "AliTRDcalibDB.h"
6 #include <TStopwatch.h>
10 #define BENCHMARK(code, comment) \
11 timer.Reset(); timer.Start(); \
12 for (Int_t i=0; i<NUMBER; ++i) { \
16 cerr << "Tested " << NUMBER << " times: " << comment << ". Time/call: " << timer.CpuTime() / NUMBER << endl; \
21 void AliTRDbenchmarkCalibDB()
24 AliTRDcalibDB* calib = AliTRDcalibDB::Instance();
27 cerr << "calibDB singleton has already been terminated." << endl;
35 calib->GetNumberOfTimeBins();
37 BENCHMARK(calib->GetNumberOfTimeBins();, "GetNumberOfTimeBins");
38 BENCHMARK(calib->GetChamberPos(1, xyz);, "GetChamberPos");
39 BENCHMARK(calib->GetVdrift(1, 1, 1);, "GetVdrift");
43 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetNumberOfTimeBins();, "GetNumberOfTimeBins with invalidating");
44 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetChamberPos(1, xyz);, "GetChamberPos with invalidating");
47 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetVdrift(1, 1, 1);, "GetVdrift with invalidating");
49 AliTRDcalibDB::Terminate();