summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2012-06-03 05:58:26 (GMT)
committerNico Weber <nicolasweber@gmx.de>2012-06-03 05:58:26 (GMT)
commit993566a79c4f3ab19470909dbfdc5cbdb0445ab9 (patch)
treec285b73cb660b893ee05fb31e49610158be0d0cb /src
parent19209305c228ce8543f1771cea60c49cef354ed3 (diff)
downloadNinja-993566a79c4f3ab19470909dbfdc5cbdb0445ab9.zip
Ninja-993566a79c4f3ab19470909dbfdc5cbdb0445ab9.tar.gz
Ninja-993566a79c4f3ab19470909dbfdc5cbdb0445ab9.tar.bz2
add canon_perftest
Diffstat (limited to 'src')
-rw-r--r--src/canon_perftest.cc38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/canon_perftest.cc b/src/canon_perftest.cc
new file mode 100644
index 0000000..aaec935
--- /dev/null
+++ b/src/canon_perftest.cc
@@ -0,0 +1,38 @@
+#include "util.h"
+
+const char kPath[] =
+ "../../third_party/WebKit/Source/WebCore/"
+ "platform/leveldb/LevelDBWriteBatch.cpp";
+
+int main() {
+ vector<int> times;
+ string err;
+
+ char buf[200];
+ int len = strlen(kPath);
+ strcpy(buf, kPath);
+
+ for (int j = 0; j < 5; ++j) {
+ const int kNumRepetitions = 2000000;
+ int64_t start = GetTimeMillis();
+ for (int i = 0; i < kNumRepetitions; ++i) {
+ CanonicalizePath(buf, &len, &err);
+ }
+ int delta = (int)(GetTimeMillis() - start);
+ times.push_back(delta);
+ }
+
+ int min = times[0];
+ int max = times[0];
+ float total = 0;
+ for (size_t i = 0; i < times.size(); ++i) {
+ total += times[i];
+ if (times[i] < min)
+ min = times[i];
+ else if (times[i] > max)
+ max = times[i];
+ }
+
+ printf("min %dms max %dms avg %.1fms\n",
+ min, max, total / times.size());
+}