diff options
Diffstat (limited to 'deps/v8/test/js-perf-test/BytecodeHandlers/LdaKeyedProperty.js')
-rw-r--r-- | deps/v8/test/js-perf-test/BytecodeHandlers/LdaKeyedProperty.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/deps/v8/test/js-perf-test/BytecodeHandlers/LdaKeyedProperty.js b/deps/v8/test/js-perf-test/BytecodeHandlers/LdaKeyedProperty.js new file mode 100644 index 0000000000..b0da481a4c --- /dev/null +++ b/deps/v8/test/js-perf-test/BytecodeHandlers/LdaKeyedProperty.js @@ -0,0 +1,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); |