1 #if !defined( __CINT__) || defined(__MAKECINT__)
5 #include "AliTRDcalibDB.h"
6 #include <TStopwatch.h>
9 extern TRandom* gRandom;
13 #define BENCHMARK(code, comment) \
14 timer.Reset(); timer.Start(); \
15 for (Int_t i=0; i<NUMBER; ++i) { \
19 cerr << "Tested " << NUMBER << " times: " << comment << ". Time/call: " << timer.CpuTime() / NUMBER << endl; \
24 void AliTRDbenchmarkCalibDB()
27 AliTRDcalibDB* calib = AliTRDcalibDB::Instance();
30 cerr << "calibDB singleton has already been terminated." << endl;
38 calib->GetNumberOfTimeBins();
40 BENCHMARK(calib->GetNumberOfTimeBins();, "GetNumberOfTimeBins");
41 BENCHMARK(calib->GetChamberPos(1, xyz);, "GetChamberPos");
42 BENCHMARK(calib->GetVdrift((Int_t) (gRandom->Uniform() * 500), (Int_t) (gRandom->Uniform() * 100), (Int_t) (gRandom->Uniform() * 10));, "GetVdrift");
46 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetNumberOfTimeBins();, "GetNumberOfTimeBins with invalidating");
47 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetChamberPos(1, xyz);, "GetChamberPos with invalidating");
50 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetVdrift(1, 1, 1);, "GetVdrift with invalidating");
52 AliTRDcalibDB::Terminate();