#include <abkcpunorm.h>
Collaboration diagram for CPUNormalizer:
Public Member Functions | |
CPUNormalizer () | |
~CPUNormalizer () | |
void | update () |
double | getNormalizingFactor () const |
operator const char * () const | |
Static Private Attributes | |
unsigned | _numUpdates = 0 |
double | _totTime = 0.0 |
char | _buffer [80] |
Definition at line 47 of file abkcpunorm.h.
|
Definition at line 54 of file abkcpunorm.h. References _numUpdates, and update().
00054 { if (_numUpdates==0) update(); } |
Here is the call graph for this function:
|
Definition at line 55 of file abkcpunorm.h.
00055 {}; |
|
Definition at line 60 of file abkcpunorm.cxx. References _numUpdates, _totTime, and oneUpdateTakesXUltra1sec. Referenced by operator const char *(), and operator<<().
00061 { return (_numUpdates * oneUpdateTakesXUltra1sec) / _totTime; } |
|
Definition at line 63 of file abkcpunorm.cxx. References _buffer, _totTime, and getNormalizingFactor().
00064 { 00065 if (_totTime<0) strcpy(_buffer," CPU time normalizer failed \n"); 00066 else 00067 sprintf(_buffer, 00068 "# Run-time conversion to Ultra-1 @143.5/71.5MHz, SunProCC4.2/-O5 : %f \n", 00069 getNormalizingFactor()); 00070 return _buffer; 00071 } |
Here is the call graph for this function:
|
Definition at line 73 of file abkcpunorm.cxx. References _numUpdates, _totTime, Timer::getUserTime(), Timer::stop(), and updateSize. Referenced by CPUNormalizer().
00074 { 00075 Timer tm; 00076 if (_numUpdates>10000) { _numUpdates=0; _totTime=0.0; } 00077 00078 unsigned *sample1, *sample2, *sample3; // *sample4, *sample5; 00079 sample1=new unsigned[updateSize]; 00080 sample2=new unsigned[updateSize]; 00081 sample3=new unsigned[updateSize]; 00082 //sample4=new unsigned[updateSize]; 00083 //sample5=new unsigned[updateSize]; 00084 00085 RandomRawUnsigned ru("CPUNormalizer::update(),ru",999); 00086 for(unsigned k=0; k!=updateSize/3; k++) 00087 { 00088 unsigned addr=ru%updateSize; 00089 sample1[addr]=k / 3; 00090 sample2[addr]=k*k; 00091 sample3[addr]=0; 00092 // sample4[addr]=0; 00093 // sample5[addr]=0; 00094 } 00095 delete[] sample1; 00096 delete[] sample2; 00097 delete[] sample3; 00098 //delete[] sample4; 00099 //delete[] sample5; 00100 00101 /*list<unsigned> sampleList(sampleVec.size()); 00102 copy(sampleVec.begin(),sampleVec.end(),sampleList.begin()); 00103 */ 00104 tm.stop(); 00105 double newTime=tm.getUserTime(); 00106 if (newTime>0) _totTime+=newTime; 00107 else _totTime = -1.0; // failed 00108 _numUpdates++; 00109 //cout << "CPU sampling took : " << tm << endl; 00110 } |
Here is the call graph for this function:
|
Definition at line 58 of file abkcpunorm.cxx. Referenced by operator const char *(). |
|
Definition at line 56 of file abkcpunorm.cxx. Referenced by CPUNormalizer(), getNormalizingFactor(), and update(). |
|
Definition at line 57 of file abkcpunorm.cxx. Referenced by getNormalizingFactor(), operator const char *(), and update(). |