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