summaryrefslogtreecommitdiff
path: root/benchmark/es/map-bench.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-01-23 13:18:30 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-02-01 10:49:02 +0100
commit2072f343ad5c7f8a74e480c625b5b4df3d071bf1 (patch)
treeb80b147e612b5bb11475a79249d7e03de87969cb /benchmark/es/map-bench.js
parent1a8ed225b2ce66451ec34705f0d96438671e0f70 (diff)
downloadandroid-node-v8-2072f343ad5c7f8a74e480c625b5b4df3d071bf1.tar.gz
android-node-v8-2072f343ad5c7f8a74e480c625b5b4df3d071bf1.tar.bz2
android-node-v8-2072f343ad5c7f8a74e480c625b5b4df3d071bf1.zip
benchmark: (es) refactor
PR-URL: https://github.com/nodejs/node/pull/18320 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark/es/map-bench.js')
-rw-r--r--benchmark/es/map-bench.js58
1 files changed, 25 insertions, 33 deletions
diff --git a/benchmark/es/map-bench.js b/benchmark/es/map-bench.js
index ba8e35c2eb..445031aa98 100644
--- a/benchmark/es/map-bench.js
+++ b/benchmark/es/map-bench.js
@@ -11,63 +11,59 @@ const bench = common.createBenchmark(main, {
millions: [1]
});
-function runObject(n) {
+function runObject(millions) {
const m = {};
- var i = 0;
bench.start();
- for (; i < n; i++) {
+ for (var i = 0; i < millions * 1e6; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
m[`i${i}`] = undefined;
m[`s${i}`] = undefined;
}
- bench.end(n / 1e6);
+ bench.end(millions);
}
-function runNullProtoObject(n) {
+function runNullProtoObject(millions) {
const m = Object.create(null);
- var i = 0;
bench.start();
- for (; i < n; i++) {
+ for (var i = 0; i < millions * 1e6; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
m[`i${i}`] = undefined;
m[`s${i}`] = undefined;
}
- bench.end(n / 1e6);
+ bench.end(millions);
}
-function runNullProtoLiteralObject(n) {
+function runNullProtoLiteralObject(millions) {
const m = { __proto__: null };
- var i = 0;
bench.start();
- for (; i < n; i++) {
+ for (var i = 0; i < millions * 1e6; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
m[`i${i}`] = undefined;
m[`s${i}`] = undefined;
}
- bench.end(n / 1e6);
+ bench.end(millions);
}
function StorageObject() {}
StorageObject.prototype = Object.create(null);
-function runStorageObject(n) {
+function runStorageObject(millions) {
const m = new StorageObject();
- var i = 0;
bench.start();
- for (; i < n; i++) {
+ for (var i = 0; i < millions * 1e6; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
m[`i${i}`] = undefined;
m[`s${i}`] = undefined;
}
- bench.end(n / 1e6);
+ bench.end(millions);
}
function fakeMap() {
@@ -80,59 +76,55 @@ function fakeMap() {
};
}
-function runFakeMap(n) {
+function runFakeMap(millions) {
const m = fakeMap();
- var i = 0;
bench.start();
- for (; i < n; i++) {
+ for (var i = 0; i < millions * 1e6; i++) {
m.set(`i${i}`, i);
m.set(`s${i}`, String(i));
assert.strictEqual(String(m.get(`i${i}`)), m.get(`s${i}`));
m.set(`i${i}`, undefined);
m.set(`s${i}`, undefined);
}
- bench.end(n / 1e6);
+ bench.end(millions);
}
-function runMap(n) {
+function runMap(millions) {
const m = new Map();
- var i = 0;
bench.start();
- for (; i < n; i++) {
+ for (var i = 0; i < millions * 1e6; i++) {
m.set(`i${i}`, i);
m.set(`s${i}`, String(i));
assert.strictEqual(String(m.get(`i${i}`)), m.get(`s${i}`));
m.set(`i${i}`, undefined);
m.set(`s${i}`, undefined);
}
- bench.end(n / 1e6);
+ bench.end(millions);
}
function main({ millions, method }) {
- const n = millions * 1e6;
-
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'object':
- runObject(n);
+ runObject(millions);
break;
case 'nullProtoObject':
- runNullProtoObject(n);
+ runNullProtoObject(millions);
break;
case 'nullProtoLiteralObject':
- runNullProtoLiteralObject(n);
+ runNullProtoLiteralObject(millions);
break;
case 'storageObject':
- runStorageObject(n);
+ runStorageObject(millions);
break;
case 'fakeMap':
- runFakeMap(n);
+ runFakeMap(millions);
break;
case 'map':
- runMap(n);
+ runMap(millions);
break;
default:
- throw new Error('Unexpected method');
+ throw new Error(`Unexpected method "${method}"`);
}
}