v8/test/js-perf-test/Modules/basic-namespace.js
Jakob Kummerow 693e8ac59f [js-perf-tests] Fix Modules benchmarks
The score is computed based on how often the benchmark's function can
be run within one second. Simply importing a Module repeatedly doesn't
do any work, so to make the test score meaningful, we must wrap the
payload into a function that can be called explicitly for every run.

NOTRY=true

Bug: v8:1569
Change-Id: Iadaed6df1f1652d8860271e327c505f0b8f20c2d
Reviewed-on: https://chromium-review.googlesource.com/639396
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47686}
2017-08-29 16:50:44 +00:00

37 lines
905 B
JavaScript

// Copyright 2017 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.
import * as m from "value.js";
export function bench() {
for (let i = 0; i < iterations; ++i) {
let accumulator = m.value;
accumulator += m.a0;
accumulator += m.a1;
accumulator += m.a2;
accumulator += m.a3;
accumulator += m.a4;
accumulator += m.a5;
accumulator += m.a6;
accumulator += m.a7;
accumulator += m.a8;
accumulator += m.a9;
accumulator += m.a10;
accumulator += m.a11;
accumulator += m.a12;
accumulator += m.a13;
accumulator += m.a14;
accumulator += m.a15;
accumulator += m.a16;
accumulator += m.a17;
accumulator += m.a18;
accumulator += m.a19;
m.set(accumulator);
}
if (m.value !== 190 * iterations) throw new Error;
m.set(0);
}