6 #ifndef EASTLBENCHMARK_H
7 #define EASTLBENCHMARK_H
24 #pragma function(strlen, strcmp, strcpy, strcat, memcpy, memcmp, memset)
28 #include <EASTL/set.h>
29 #include <EASTL/string.h>
30 #include <EAStdC/EAStopwatch.h>
37 void BenchmarkString();
38 void BenchmarkVector();
39 void BenchmarkDeque();
43 void BenchmarkAlgorithm();
45 void BenchmarkBitset();
46 void BenchmarkTupleVector();
62 void clear() { msPlatform.set_capacity(0); msSTLName1.set_capacity(0); msSTLName2.set_capacity(0); }
82 Result() : msName(), mUnits(EA::StdC::Stopwatch::kUnitsCPUCycles),
83 mTime1(0), mTime1NS(0), mTime2(0), mTime2NS(0), msNotes() { }
86 inline bool operator<(
const Result& r1,
const Result& r2)
87 {
return r1.msName < r2.msName; }
91 ResultSet& GetResultSet();
95 extern char gScratchBuffer[1024];
102 void AddResult(
const char* pName,
int units, int64_t nTime1, int64_t nTime2,
const char* pNotes = NULL);
134 memset(mLargeObject1.mData, 0,
sizeof(mLargeObject1.mData));
135 memset(mLargeObject2.mData, 0,
sizeof(mLargeObject2.mData));
136 mLargeObject1.mData[0] = x;
138 mpName1 =
"LargePOD1";
139 mpName2 =
"LargePOD2";
143 : mLargeObject1(largePOD.mLargeObject1),
144 mLargeObject2(largePOD.mLargeObject2),
145 mpName1(largePOD.mpName1),
146 mpName2(largePOD.mpName2)
154 if(&largePOD !=
this)
156 mLargeObject1 = largePOD.mLargeObject1;
157 mLargeObject2 = largePOD.mLargeObject2;
158 mpName1 = largePOD.mpName1;
159 mpName2 = largePOD.mpName2;
164 virtual void DoSomething()
166 mLargeObject1.mData[1]++;
171 return (
int)mLargeObject1.mData[0];
188 return (memcmp(&t1.mLargeObject1, &t2.mLargeObject1,
sizeof(t1.mLargeObject1)) == 0) &&
189 (memcmp(&t1.mLargeObject2, &t2.mLargeObject2,
sizeof(t1.mLargeObject2)) == 0) &&
190 (strcmp(t1.mpName1, t2.mpName1) == 0) &&
191 (strcmp(t1.mpName2, t2.mpName2) == 0);
196 return (memcmp(&t1.mLargeObject1, &t2.mLargeObject1,
sizeof(t1.mLargeObject1)) < 0) &&
197 (memcmp(&t1.mLargeObject2, &t2.mLargeObject2,
sizeof(t1.mLargeObject2)) < 0) &&
198 (strcmp(t1.mpName1, t2.mpName1) < 0) &&
199 (strcmp(t1.mpName2, t2.mpName2) < 0);
Definition: EASTLBenchmark.h:57
Definition: EASTLBenchmark.h:73
Definition: EASTLBenchmark.h:121
Definition: EASTLBenchmark.h:126