| Index: benchmarks/base.js
|
| ===================================================================
|
| --- benchmarks/base.js (revision 399)
|
| +++ benchmarks/base.js (working copy)
|
| @@ -76,6 +76,24 @@
|
| BenchmarkSuite.version = '2 candidate';
|
|
|
|
|
| +// To make the benchmark results predictable, we replace Math.random
|
| +// with a 100% deterministic alternative.
|
| +Math.random = (function() {
|
| + var seed = 49734321;
|
| + return function() {
|
| + // Robert Jenkins' 32 bit integer hash function.
|
| + seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff;
|
| + seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff;
|
| + seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff;
|
| + seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
|
| + seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
|
| + seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff;
|
| + seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff;
|
| + return (seed & 0xfffffff) / 0x10000000;
|
| + };
|
| +})();
|
| +
|
| +
|
| // Runs all registered benchmark suites and optionally yields between
|
| // each individual benchmark to avoid running for too long in the
|
| // context of browsers. Once done, the final score is reported to the
|
|
|