Reviewers: Dmitry Lomov (chromium),
Description:
Adjust benchmark framework to avoid spending 50% of time on 'new Date'
R=dslo...@chromium.org
BUG=
Please review this at https://codereview.chromium.org/1133843007/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+6, -6 lines):
M test/js-perf-test/base.js
Index: test/js-perf-test/base.js
diff --git a/test/js-perf-test/base.js b/test/js-perf-test/base.js
index
b0ce40b888b3a1388e63ade8ae38f4417fa76c04..cef2867f2b037b8ec79f3153cc8e9abdfe8fb14e
100644
--- a/test/js-perf-test/base.js
+++ b/test/js-perf-test/base.js
@@ -281,28 +281,28 @@ BenchmarkSuite.prototype.RunSingleBenchmark =
function(benchmark, data) {
// by minIterations, depending on the config flag doDeterministic.
for (var i = 0; (doDeterministic ?
i<benchmark.deterministicIterations : elapsed < 1000); i++) {
- benchmark.run();
+ for (var j = 0; j < 100; j++) benchmark.run();
elapsed = new Date() - start;
}
if (data != null) {
- data.runs += i;
+ data.hectoruns += i;
data.elapsed += elapsed;
}
}
// Sets up data in order to skip or not the warmup phase.
if (!doWarmup && data == null) {
- data = { runs: 0, elapsed: 0 };
+ data = { hectoruns: 0, elapsed: 0 };
}
if (data == null) {
Measure(null);
- return { runs: 0, elapsed: 0 };
+ return { hectoruns: 0, elapsed: 0 };
} else {
Measure(data);
// If we've run too few iterations, we continue for another second.
- if (data.runs < benchmark.minIterations) return data;
- var usec = (data.elapsed * 1000) / data.runs;
+ if (data.hectoruns * 100 < benchmark.minIterations) return data;
+ var usec = (data.elapsed * 10) / data.hectoruns;
var rms = (benchmark.rmsResult != null) ? benchmark.rmsResult() : 0;
this.NotifyStep(new BenchmarkResult(benchmark, usec, rms));
return null;
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.