v8/test/js-perf-test/Parsing/comments.js
Marja Hölttä ddf2621617 [parser|js-perf-test] Disable compilation cache in the parsing microbrenchmarks.
Evalling multiple long strings makes compilation cache the bottleneck: See
https://bugs.chromium.org/p/v8/issues/detail?id=6779 for more information.

BUG=v8:6779

Change-Id: I0014b1aca1258a643cbeb441a82707b163f8166d
Reviewed-on: https://chromium-review.googlesource.com/649146
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47801}
2017-09-04 14:04:02 +00:00

42 lines
1.0 KiB
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.
const iterations = 100;
new BenchmarkSuite('OneLineComment', [1000], [
new Benchmark('OneLineComment', false, true, iterations, Run, OneLineCommentSetup)
]);
new BenchmarkSuite('OneLineComments', [1000], [
new Benchmark('OneLineComments', false, true, iterations, Run, OneLineCommentsSetup)
]);
new BenchmarkSuite('MultiLineComment', [1000], [
new Benchmark('MultiLineComment', false, true, iterations, Run, MultiLineCommentSetup)
]);
let code;
function OneLineCommentSetup() {
code = "//" + " This is a comment... ".repeat(600);
%FlattenString(code);
}
function OneLineCommentsSetup() {
code = "// This is a comment.\n".repeat(600);
%FlattenString(code);
}
function MultiLineCommentSetup() {
code = "/*" + " This is a comment... ".repeat(600) + "*/";
%FlattenString(code);
}
function Run() {
if (code == undefined) {
throw new Error("No test data");
}
eval(code);
}