v8/test/js-perf-test/Collections/common.js
peterwmwong 0a66361d7c [js-perf-test] Add Collection constructor and double type microbenchmarks
- Add {Map/Set/WeakMap/WeakSet}-Constructor microbenchmarks
- Add {Map/Set}-Double microbenchmarks (testing heap number keys)

Bug: v8:6604
Change-Id: Icadd5c81bfb59a58a2a65e119663d3f22637165d
Reviewed-on: https://chromium-review.googlesource.com/773595
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49398}
2017-11-16 07:21:05 +00:00

49 lines
1.1 KiB
JavaScript

// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
var N = 10;
var LargeN = 1e4;
var keys;
var keyValuePairs;
function SetupKeyValuePairsFromKeys() {
keyValuePairs = keys.map((v) => [v, v]);
}
function SetupSmiKeys(count = 2 * N) {
keys = Array.from({ length : count }, (v, i) => i);
}
function SetupSmiKeyValuePairs(count = 2 * N) {
SetupSmiKeys(count);
SetupKeyValuePairsFromKeys();
}
function SetupStringKeys(count = 2 * N) {
keys = Array.from({ length : count }, (v, i) => 's' + i);
}
function SetupStringKeyValuePairs(count = 2 * N) {
SetupStringKeys(count);
SetupKeyValuePairsFromKeys();
}
function SetupObjectKeys(count = 2 * N) {
keys = Array.from({ length : count }, (v, i) => ({}));
}
function SetupObjectKeyValuePairs(count = 2 * N) {
SetupObjectKeys(count);
SetupKeyValuePairsFromKeys();
}
function SetupDoubleKeys(count = 2 * N) {
keys = Array.from({ length : count }, (v, i) => i + 0.234);
}
function SetupDoubleKeyValuePairs(count = 2 * N) {
SetupDoubleKeys(count);
SetupKeyValuePairsFromKeys();
}