Commit Graph

84 Commits

Author SHA1 Message Date
mvstanton
7e08a77deb [JSPerfTests] New tests for Array.prototype.filter and map.
BUG=

Review-Url: https://codereview.chromium.org/2769973005
Cr-Commit-Position: refs/heads/master@{#44115}
2017-03-24 17:39:34 +00:00
Peter Marshall
a6e6160e48 [Test] Fix the regex in array JSPerfTest.
The regex was slightly off, meaning the results would not
display properly.

Change-Id: Ie3b2bf54a50bffde9b64663d7b8b8c0ad39a1212
Reviewed-on: https://chromium-review.googlesource.com/458416
Reviewed-by: Franziska Hinkelmann <franzih@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44007}
2017-03-22 10:09:45 +00:00
mvstanton
da511d3349 Error in JSTests.json prevented uploads.
TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.chromium.org/2770623002
Cr-Commit-Position: refs/heads/master@{#44003}
2017-03-22 09:07:47 +00:00
Peter Marshall
0feed731d0 [Test] Add a perf test for TypedArray construct by typed array.
BUG=v8:5977

Change-Id: Ic756fd44a945f98d51c0914dcc6c3b82111d170d
Reviewed-on: https://chromium-review.googlesource.com/456419
Reviewed-by: Franziska Hinkelmann <franzih@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43978}
2017-03-21 12:01:28 +00:00
mvstanton
1e03479c64 [builtins] Array.prototype.filter implemented as a TurboFan code stub.
BUG=

Review-Url: https://codereview.chromium.org/2680153005
Cr-Commit-Position: refs/heads/master@{#43965}
2017-03-21 08:56:56 +00:00
Michael Achenbach
f58177dd92 [test] Switch future/no-turbo perf configs for js-tests
BUG=chromium:682617
NOTRY=true
R=mvstanton@chromium.org,petermarshall@chromium.org

Change-Id: I5902c4ac3c8fb4230142896addbb75a9e7d28fbb
Reviewed-on: https://chromium-review.googlesource.com/451378
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43694}
2017-03-09 13:38:02 +00:00
Peter Marshall
45dfd76a9c [Test] Add perf tests for TypedArray constructors.
Adds a perf test for constructing a TypedArray from a regular array,
and from a pre-made ArrayBuffer. Runs both new tests with default and
future configurations for comparison.

BUG=v8:5977

Change-Id: Idd132ca879702c54b2947a0e57ed8fe782f2767f
Reviewed-on: https://chromium-review.googlesource.com/446342
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43412}
2017-02-24 13:06:10 +00:00
cwhan.tunz
693b741f6d [tests] Add js-perf-test for %TypedArray%.prototype.sort
- Add benchmark for sorting of Float64Array
- Rename existing typedarray.js to copywithin.js

BUG=v8:5953
R=bmeurer@chromium.org, caitp@chromium.org, petermarshall@chromium.org

Review-Url: https://codereview.chromium.org/2691423003
Cr-Commit-Position: refs/heads/master@{#43217}
2017-02-15 14:48:42 +00:00
Peter Marshall
88df7dcaf4 [Test] Add TypedArray constructor benchmarks.
Add a simple benchmark for a TypedArray constructor. Run once with the
default pipeline and once with turbofan so that we can compare the
performance.

Also fixes a typo in the Regex for the result of the CopyWithin
benchmark which stopped the results showing up in the perf
dashboard.

BUG=

Change-Id: Ic2eb0bd1e02b458c1163e97130abd0e7531c2e1c
Reviewed-on: https://chromium-review.googlesource.com/440225
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43087}
2017-02-10 09:30:28 +00:00
Peter Marshall
de700757ff [Test] Fix typo so that SixSpeed/SpreadLiteral/Babel is actually run.
BUG=v8:5940

Change-Id: Ibf4061244fbde2fabf2a13307a8f646258c9efc6
Reviewed-on: https://chromium-review.googlesource.com/439309
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Franziska Hinkelmann <franzih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43004}
2017-02-07 16:40:05 +00:00
petermarshall
bc6b87cf0d [Test] Add SixSpeed tests for spread literals.
This will give us a baseline for upcoming perf work.

BUG=v8:5940

Review-Url: https://codereview.chromium.org/2680763002
Cr-Commit-Position: refs/heads/master@{#42987}
2017-02-07 11:25:21 +00:00
petermarshall
54a14005fd [Test] Update 'default' SixSpeed benchmark to use different processes.
The results are unreliable as-is, because es5 and es6 run in the same d8
process consecutively. The graph also shows a huge amount of noise,
which seems to be mostly resolved with this change.

Review-Url: https://codereview.chromium.org/2675263002
Cr-Commit-Position: refs/heads/master@{#42961}
2017-02-06 11:51:35 +00:00
petermarshall
d6f76908c8 [Test] Enable turbofan for spread call SixSpeed tests.
In preparation for more perf work in turbofan, so that we can actually
see the results on the graph.

BUG=v8:5932

Review-Url: https://codereview.chromium.org/2676263002
Cr-Commit-Position: refs/heads/master@{#42960}
2017-02-06 11:16:05 +00:00
petermarshall
b69b24a2a2 [Test] Update all SixSpeed tests to run in separate processes.
BUG=v8:5922

Review-Url: https://codereview.chromium.org/2674873002
Cr-Commit-Position: refs/heads/master@{#42954}
2017-02-06 10:19:24 +00:00
hablich
a0b7db1b0c [Tests] Add microbenchmark for defaults
R=franzih@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2676773004
Cr-Commit-Position: refs/heads/master@{#42946}
2017-02-06 07:03:20 +00:00
caitp
d36f14a73d [tests] add microbenchmark for %TypedArray%.prototype.copyWithin
Add a simple microbenchmark for calling copyWithin on a moderately large
Float64Array with 10,000 elements.

BUG=v8:5925, v8:5929, v8:4648
R=cbruni@chromium.org, adamk@chromium.org, littledan@chromium.org

Review-Url: https://codereview.chromium.org/2676193002
Cr-Commit-Position: refs/heads/master@{#42944}
2017-02-06 04:20:09 +00:00
petermarshall
98ca77a0e1 [Test] Reconfigure SuperSpread benchmarks to run in separate processes.
BUG=v8:5922

Review-Url: https://codereview.chromium.org/2669223002
Cr-Commit-Position: refs/heads/master@{#42929}
2017-02-03 14:07:16 +00:00
petermarshall
bfc8dc12e9 Revert of [Test] Do a set number of runs to trigger optimisation for SuperSpread. (patchset #1 id:1 of https://codereview.chromium.org/2669523002/ )
Reason for revert:
Causes test timeouts.

Original issue's description:
> [Test] Do a set number of runs to trigger optimisation for SuperSpread.
>
> BUG=v8:5895
>
> Review-Url: https://codereview.chromium.org/2669523002
> Cr-Commit-Position: refs/heads/master@{#42811}
> Committed: d4c22c3084

TBR=bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5895

Review-Url: https://codereview.chromium.org/2669553002
Cr-Commit-Position: refs/heads/master@{#42812}
2017-01-31 12:52:29 +00:00
petermarshall
d4c22c3084 [Test] Do a set number of runs to trigger optimisation for SuperSpread.
BUG=v8:5895

Review-Url: https://codereview.chromium.org/2669523002
Cr-Commit-Position: refs/heads/master@{#42811}
2017-01-31 09:51:01 +00:00
petermarshall
f87ce44f52 [Test] Perform warmup first on SixSpeed super_spread benchmarks.
The graphs don't show any performance bump for
https://codereview.chromium.org/2659623002, which I do see a much better result for
locally. I suspect the function isn't being optimized in turbofan when the
benchmarks run. Maybe this warmup flag will trigger that.

BUG=v8:5895

Review-Url: https://codereview.chromium.org/2664783002
Cr-Commit-Position: refs/heads/master@{#42776}
2017-01-30 13:58:57 +00:00
petermarshall
2db0e8cbcf [Test] Add micro-benchmarks for super-calls with spread.
We compare ES5, ES6 and a Babel transpilation of the ES6 test.

BUG=v8:5894

Review-Url: https://codereview.chromium.org/2655063003
Cr-Commit-Position: refs/heads/master@{#42689}
2017-01-26 11:31:05 +00:00
jgruber
1c26e0a493 [js-perf-test] Specify AsyncAwait tests in JSTests.json
BUG=v8:5805

Review-Url: https://codereview.chromium.org/2619753002
Cr-Commit-Position: refs/heads/master@{#42127}
2017-01-09 09:30:25 +00:00
jgruber
9feefafa66 [js-perf-test] Add a basic async-await microbenchmark
These benchmarks are intended to compare the overhead of async-await vs.
a naive promise implementation vs. the babel async-await transformation.
The functions in the benchmark don't do any work themselves, so results
should reflect only overhead of the chosen implementation.

Current numbers on my local machine (higher is better):

BaselineES2017-AsyncAwait(Score): 2006
BaselineNaivePromises-AsyncAwait(Score): 7470
Native-AsyncAwait(Score): 3640

BUG=v8:5639

Review-Url: https://codereview.chromium.org/2577393002
Cr-Commit-Position: refs/heads/master@{#41860}
2016-12-20 13:10:07 +00:00
franzih
82061d6ab3 [test] Add performance test for closures.
Short living closures are very common in Node.js. This benchmark tracks progress
as we move the optimizations that are currently only behind
--mark_shared_functions_for_tier_up to the default settings.

BUG=v8:5512

Committed: https://crrev.com/f277da2a00cfd27d44a33a70213a65bd82d0bc95
Review-Url: https://codereview.chromium.org/2525053002
Cr-Original-Commit-Position: refs/heads/master@{#41246}
Cr-Commit-Position: refs/heads/master@{#41487}
2016-12-05 13:10:44 +00:00
jgruber
2f17d5f8e8 [js-perf-test] Move SubRegExp class definition outside loop
Defining the subclass within the loop significantly affects subsequent
test results. For instance, the Search benchmark is 50% slower if the
subclass is defined within the loop.

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2537253003
Cr-Commit-Position: refs/heads/master@{#41384}
2016-11-30 12:20:17 +00:00
jgruber
aefc79360e [js-perf-test] Fix JSON syntax for RegExp tests
BUG=v8:5339
NOTRY=true

Review-Url: https://codereview.chromium.org/2532013003
Cr-Commit-Position: refs/heads/master@{#41317}
2016-11-28 13:12:50 +00:00
jgruber
b034b71568 [js-perf-test] Add RegExp microbenchmarks
This adds microbenchmarks for:

* the RegExp constructor,
* flag accessors,
* and RegExp functions: exec, @@match, @@search, test, @@split, @@replace.

Each benchmark is further split to measure fast and slow paths.

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2521263003
Cr-Commit-Position: refs/heads/master@{#41285}
2016-11-25 09:25:23 +00:00
machenbach
b6ab7996de Revert of [test] Add performance test for closures. (patchset #1 id:1 of https://codereview.chromium.org/2525053002/ )
Reason for revert:
Fails on perf.

Original issue's description:
> [test] Add performance test for closures.
>
> Short living closures are very common in Node.js. This benchmark tracks progress
> as we move the optimizations that are currently only behind
> --mark_shared_functions_for_tier_up to the default settings.
>
> BUG=v8:5512
>
> Committed: https://crrev.com/f277da2a00cfd27d44a33a70213a65bd82d0bc95
> Cr-Commit-Position: refs/heads/master@{#41246}

TBR=bmeurer@chromium.org,leszeks@chromium.org,franzih@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5512

Review-Url: https://codereview.chromium.org/2526163003
Cr-Commit-Position: refs/heads/master@{#41261}
2016-11-24 13:16:15 +00:00
franzih
f277da2a00 [test] Add performance test for closures.
Short living closures are very common in Node.js. This benchmark tracks progress
as we move the optimizations that are currently only behind
--mark_shared_functions_for_tier_up to the default settings.

BUG=v8:5512

Review-Url: https://codereview.chromium.org/2525053002
Cr-Commit-Position: refs/heads/master@{#41246}
2016-11-24 08:08:30 +00:00
franzih
f31e80548c [test] Add array destructuring micro-benchmarks.
Add array pattern destructuring micro-benchmarks. These benchmarks compare
a naive ES5 immplementation to an ES6-style implementation that uses
destructuring.

Adapted from http://kpdecker.github.io/six-speed

BUG=v8:5267

Review-Url: https://codereview.chromium.org/2513273002
Cr-Commit-Position: refs/heads/master@{#41126}
2016-11-20 20:07:47 +00:00
franzih
5b3a893f9e [test] Add object literal micro-benchmarks.
Add computed property names in object literal micro-benchmarks.

Taken from http://kpdecker.github.io/six-speed/

BUG=v8:5622

Review-Url: https://codereview.chromium.org/2509593004
Cr-Commit-Position: refs/heads/master@{#41057}
2016-11-17 05:54:35 +00:00
yangguo
7159662b31 Add spread call micro-benchmarks.
Taken from http://kpdecker.github.io/six-speed/

Review-Url: https://codereview.chromium.org/2467483002
Cr-Commit-Position: refs/heads/master@{#40837}
2016-11-08 14:17:18 +00:00
cbruni
7344f4f0ff [tests] Enable Object.create JSPerf tests
R=jkummerow@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2461993002
Cr-Commit-Position: refs/heads/master@{#40796}
2016-11-07 11:03:31 +00:00
machenbach
b022c81f6f [test] Bump js-test strings timeout even more
NOTRY=true
TBR=adamk, caitp

Review-Url: https://codereview.chromium.org/2419433006
Cr-Commit-Position: refs/heads/master@{#40257}
2016-10-13 12:29:36 +00:00
machenbach
d5871e8125 [test] Fix js-perf config
The android_arm config is deprecated. We only use the v8 arch
strings.

NOTRY=true
TBR=adamk, caitp

Review-Url: https://codereview.chromium.org/2412513002
Cr-Commit-Position: refs/heads/master@{#40172}
2016-10-11 13:09:23 +00:00
machenbach
4e0b685acc [test] Bump timeout for js-test Strings on Android
The test still runs into the 240s timeout on Nexus5 and
Nexus7.

NOTRY=true
TBR=adamk, caitp

Review-Url: https://codereview.chromium.org/2406173002
Cr-Commit-Position: refs/heads/master@{#40151}
2016-10-11 07:29:08 +00:00
machenbach
c64288d9db [test] Add missing js-test resource.
The create.js file is loaded unconditionally in run.js,
therefore we need to add it to resources, otherwise it
fails on Android.

TBR=caitp@igalia.com
NOTRY=true

Review-Url: https://codereview.chromium.org/2401883002
Cr-Commit-Position: refs/heads/master@{#40084}
2016-10-07 12:28:03 +00:00
machenbach
964f54ba1a [test] Reduce time spent on js-perf tests and fix timeouts.
Strings takes a considerate amount of time and times out on
many platforms. Generally the iterations need to be reduced
to free resources.

NOTRY=true
TBR=hablich@chromium.org

Review-Url: https://codereview.chromium.org/2374393002
Cr-Commit-Position: refs/heads/master@{#39856}
2016-09-29 09:33:45 +00:00
cbruni
24e29f28ba [test] Add micro benchmark for Object.create
BUG=

Review-Url: https://codereview.chromium.org/2378613002
Cr-Commit-Position: refs/heads/master@{#39807}
2016-09-28 08:14:21 +00:00
caitp
72d5c98e90 [js-perf-test] add microbenchmarks for String Iterators
Add some micro-benchmarks to help measure the impact and benefit of String Iterator
optimizations.

BUG=v8:5388
R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2364743003
Cr-Commit-Position: refs/heads/master@{#39690}
2016-09-23 19:03:53 +00:00
neis
88a795d1c8 Remove the --ignition-generators flag.
This flag has been enabled by default for over a month now.

R=mstarzinger@chromium.org, rmcilroy@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2176143002
Cr-Commit-Position: refs/heads/master@{#38020}
2016-07-25 12:56:27 +00:00
neis
e33b7421f7 [test] Fix result regexp in JSTests.json.
R=machenbach@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2035313003
Cr-Commit-Position: refs/heads/master@{#36732}
2016-06-06 09:07:33 +00:00
neis
20e43a3a93 Add js-perf-test benchmark for generators.
BUG=v8:4907

Review-Url: https://codereview.chromium.org/2026503002
Cr-Commit-Position: refs/heads/master@{#36583}
2016-05-30 11:36:26 +00:00
ishell
2318facdc9 [js-perf-test] Fix JSTests/PropertyQueries microbenchmark.
1) Create fast objects so that they stay fast after creation.
2) Run combination "test_function vs {test_objects}" as a benchmark during 1 second.

This CL changes benchmark's base score.

Review-Url: https://codereview.chromium.org/1988673002
Cr-Commit-Position: refs/heads/master@{#36277}
2016-05-17 11:28:31 +00:00
ishell
2fb88d617c [js-perf-test] Shorten output of JSTests/PropertyQueries microbenchmark.
Review URL: https://codereview.chromium.org/1922413002

Cr-Commit-Position: refs/heads/master@{#35810}
2016-04-27 09:14:14 +00:00
ishell
5796ae9de4 [js-perf-test] Add microbenchmarks for in operator and Object.prototype.hasOwnProperty().
BUG=v8:2472, v8:2743
LOG=N

Review URL: https://codereview.chromium.org/1913813003

Cr-Commit-Position: refs/heads/master@{#35789}
2016-04-26 10:24:24 +00:00
caitpotter88
a8a0a62edb [js-perf-test] fixup error in JSTests.json
BUG=
LOG=N
NOTRY=true
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1777873003

Cr-Commit-Position: refs/heads/master@{#34611}
2016-03-09 11:58:00 +00:00
caitpotter88
705cb7fb70 [esnext] add microbenchmarks for Object.values(), Object.entries()
Add microbenchmark for these methods.
BUG=v8:4663
LOG=N
R=adamk@chromium.org, littledan@chrommium.org

Review URL: https://codereview.chromium.org/1746383003

Cr-Commit-Position: refs/heads/master@{#34556}
2016-03-07 18:47:10 +00:00
cbruni
94f0abf98a reland [js-perf-test] Adding micro benchmarks for for-in and keys patterns.
In order to track certain critical code-patters we will start adding
micro-benchmarks that reflect common requests on http://jsperf.com.
In this first CL a number of property enumeration methods are added,
in the hope to get a clearer picture on future regressions.

BUG=

Review URL: https://codereview.chromium.org/1702613002

Cr-Commit-Position: refs/heads/master@{#34425}
2016-03-02 12:25:41 +00:00
cbruni
b00386f97c [js-perf-test] Adding micro benchmarks for for-in and keys patterns.
In order to track certain critical code-patters we will start adding
micro-benchmarks that reflect common requests on http://jsperf.com.
In this first CL a number of property enumeration methods are added,
in the hope to get a clearer picture on future regressions.

BUG=

Review URL: https://codereview.chromium.org/1702613002

Cr-Commit-Position: refs/heads/master@{#34364}
2016-02-29 14:55:50 +00:00