3 // ************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project *
5 // ALICE Experiment at CERN, All rights reserved. *
6 // See cxx source for full Copyright notice *
8 //*************************************************************************
11 #ifndef ALIHLTCOMPONENTBENCHMARK_H
12 #define ALIHLTCOMPONENTBENCHMARK_H
14 #include "TStopwatch.h"
18 * @class AliHLTComponentBenchmark
20 * AliHLTComponentBenchmark can be used to benchmark HLT compnoents
22 class AliHLTComponentBenchmark
26 AliHLTComponentBenchmark( const char *Name="" );
27 ~AliHLTComponentBenchmark(){}
30 void SetName( const char *Name );
31 void SetTimer( Int_t i, const char *Name );
33 void Start( Int_t i );
35 void AddInput( Double_t x );
36 void AddOutput( Double_t x );
37 const char *GetStatistics();
41 TString fComponentName;// name of the component
42 Int_t fNTimers; // n of timers
43 TStopwatch fTimers[10]; // the timers
44 TString fNames[10]; // timer names
45 ULong_t fNEvents; // N events processed
46 Double_t fTotalRealTime[10]; // total real time
47 Double_t fTotalCPUTime[10]; // total CPU time
48 Double_t fTotalInput; // total input size
49 Double_t fTotalOutput; // total output size
50 TString fStatistics;// string with statistics