diff options
author | Michaël Zasso <targos@protonmail.com> | 2019-03-12 09:01:49 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2019-03-14 18:49:21 +0100 |
commit | 7b48713334469818661fe276cf571de9c7899f2d (patch) | |
tree | 4dbda49ac88db76ce09dc330a0cb587e68e139ba /deps/v8/test/js-perf-test/ArrayLiteralInitialSpreadSmallSmiMap | |
parent | 8549ac09b256666cf5275224ec58fab9939ff32e (diff) | |
download | android-node-v8-7b48713334469818661fe276cf571de9c7899f2d.tar.gz android-node-v8-7b48713334469818661fe276cf571de9c7899f2d.tar.bz2 android-node-v8-7b48713334469818661fe276cf571de9c7899f2d.zip |
deps: update V8 to 7.3.492.25
PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'deps/v8/test/js-perf-test/ArrayLiteralInitialSpreadSmallSmiMap')
-rw-r--r-- | deps/v8/test/js-perf-test/ArrayLiteralInitialSpreadSmallSmiMap/run.js | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/deps/v8/test/js-perf-test/ArrayLiteralInitialSpreadSmallSmiMap/run.js b/deps/v8/test/js-perf-test/ArrayLiteralInitialSpreadSmallSmiMap/run.js new file mode 100644 index 0000000000..a2f8bad5c0 --- /dev/null +++ b/deps/v8/test/js-perf-test/ArrayLiteralInitialSpreadSmallSmiMap/run.js @@ -0,0 +1,93 @@ +// Copyright 2018 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. + +// Comparing different iterating schemes against spread initial literals. +// Benchmarks for small smi maps. + +var keys = Array.from(Array(50).keys()); +var keyValuePairs = keys.map((value) => [value, value + 1]); +var map = new Map(keyValuePairs); + +// ---------------------------------------------------------------------------- +// Benchmark: SpreadKeys +// ---------------------------------------------------------------------------- + +function SpreadKeys() { + var newArr = [...map.keys()]; + // basic sanity check + if (newArr.length != map.size) throw 666; + return newArr; +} + +// ---------------------------------------------------------------------------- +// Benchmark: SpreadValues +// ---------------------------------------------------------------------------- + +function SpreadValues() { + var newArr = [...map.values()]; + // basic sanity check + if (newArr.length != map.size) throw 666; + return newArr; +} + +// ---------------------------------------------------------------------------- +// Benchmark: ForOfKeys +// ---------------------------------------------------------------------------- + +function ForOfKeys() { + var newArr = new Array(map.size); + var i = 0; + for (let x of map.keys()) { + newArr[i] = x; + i++; + } + if (newArr.length != map.size) throw 666; + return newArr; +} + +// ---------------------------------------------------------------------------- +// Benchmark: ForOfValues +// ---------------------------------------------------------------------------- + +function ForOfValues() { + var newArr = new Array(map.size); + var i = 0; + for (let x of map.values()) { + newArr[i] = x; + i++; + } + if (newArr.length != map.size) throw 666; + return newArr; +} + +// ---------------------------------------------------------------------------- +// Setup and Run +// ---------------------------------------------------------------------------- + +load('../base.js'); + +var success = true; + +function PrintResult(name, result) { + print(name + '-ArrayLiteralInitialSpreadSmallSmiMap(Score): ' + result); +} + +function PrintError(name, error) { + PrintResult('Error: ' + name, error); + success = false; +} + +function CreateBenchmark(name, f) { + new BenchmarkSuite(name, [1000], [ new Benchmark(name, false, false, 0, f) ]); +} + +CreateBenchmark('ForOfKeys', ForOfKeys); +CreateBenchmark('ForOfValues', ForOfValues); +CreateBenchmark('SpreadKeys', SpreadKeys); +CreateBenchmark('SpreadValues', SpreadValues); + + +BenchmarkSuite.config.doWarmup = true; +BenchmarkSuite.config.doDeterministic = false; +BenchmarkSuite.RunSuites({NotifyResult: PrintResult, NotifyError: PrintError}); |