aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/js-perf-test/BytecodeHandlers/LdaKeyedProperty.js
blob: b0da481a4c5a36fb404cfeec8b184c0246f54854 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// 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 addBenchmark(name, test) {
  new BenchmarkSuite(name, [1000],
      [
        new Benchmark(name, false, false, 0, test)
      ]);
}

function objectLookupStringConstant() {
  const x = { 1: "foo" };

  for (var i = 0; i < 1000; ++i) {
    const p = x["1"];
  }
}

function objectLookupIndexNumber() {
  const x = { 1: "foo" };
  const a = 1;

  for (var i = 0; i < 1000; ++i) {
    const p = x[a];
  }
}

function objectLookupIndexString() {
  const x = { 1: "foo" };
  const a = "1";

  for (var i = 0; i < 1000; ++i) {
    const p = x[a];
  }
}

addBenchmark('Object-Lookup-String-Constant', objectLookupStringConstant);
addBenchmark('Object-Lookup-Index-Number', objectLookupIndexNumber);
addBenchmark('Object-Lookup-Index-String', objectLookupIndexString);