/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/test/js-perf-test/ObjectFreeze/array-reduce.js
59 строк
1 KB
Michaël Zasso
deps: update V8 to 7.7.299.4
19 авг 2019, 10:25
Не верифицирован
19 авг 2019, 10:25
e31f0a7
Код
Авторство
О чём код?
// Copyright 2019 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. function setupArrayReduce(length) { let a = new Array(length); for (let i=0;i<length;i++) { a[i] = ''+i; } return Object.freeze(a); } const kArraylength = 200; const frozenArrayReduce = setupArrayReduce(kArraylength); const reducer = (accumulator, currentValue) => accumulator + Number(currentValue); function driverArrayReduce(n) { let result = 0; for (let i=0;i<n;i++) { result = frozenArrayReduce.reduce(reducer); } return result; } const kIterations = 1e3; function ArrayReduce() { driverArrayReduce(kIterations); } const kIterationsWarmUp = [1e1, 1e2]; function ArrayReduceWarmUp() { driverArrayReduce(kIterationsWarmUp[0]); driverArrayReduce(kIterationsWarmUp[1]); } const kRun = 1e1; createSuite('ArrayReduce', kRun, ArrayReduce, ArrayReduceWarmUp); function driverArrayReduceRight(n) { let result = 0; for (let i=0;i<n;i++) { result = frozenArrayReduce.reduceRight(reducer); } return result; } function ArrayReduceRight() { driverArrayReduceRight(kIterations); } function ArrayReduceRightWarmUp() { driverArrayReduceRight(kIterationsWarmUp[0]); driverArrayReduceRight(kIterationsWarmUp[1]); } createSuite('ArrayReduceRight', kRun, ArrayReduceRight, ArrayReduceRightWarmUp);