1 #if !defined( __CINT__) || defined(__MAKECINT__)
5 #include "AliTRDcalibDB.h"
6 #include "AliCDBManager.h"
7 #include <TStopwatch.h>
10 extern TRandom* gRandom;
14 #define BENCHMARK(code, comment) \
15 timer.Reset(); timer.Start(); \
16 for (Int_t i=0; i<NUMBER; ++i) { \
20 cerr << "Tested " << NUMBER << " times: " << comment << ". Time/call: " << timer.CpuTime() / NUMBER << endl; \
25 void AliTRDbenchmarkCalibDB()
28 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
29 AliTRDcalibDB* calib = AliTRDcalibDB::Instance();
32 cerr << "calibDB singleton has already been terminated." << endl;
40 calib->GetNumberOfTimeBins();
42 BENCHMARK(calib->GetNumberOfTimeBins();, "GetNumberOfTimeBins");
43 BENCHMARK(calib->GetChamberPos(1, xyz);, "GetChamberPos");
44 BENCHMARK(calib->GetVdrift((Int_t) (gRandom->Uniform() * 500), (Int_t) (gRandom->Uniform() * 100), (Int_t) (gRandom->Uniform() * 10));, "GetVdrift");
48 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetNumberOfTimeBins();, "GetNumberOfTimeBins with invalidating");
49 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetChamberPos(1, xyz);, "GetChamberPos with invalidating");
52 BENCHMARK(calib->SetRun(1); calib->SetRun(0); calib->GetVdrift(1, 1, 1);, "GetVdrift with invalidating");
54 AliTRDcalibDB::Terminate();