Commit Graph

210 Commits

Author SHA1 Message Date
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
adamk
5ceb4feca3 Remove always-on --harmony-rest-parameters flag
It shipped in Chrome 47.

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

Cr-Commit-Position: refs/heads/master@{#32816}
2015-12-12 00:00:38 +00:00
adamk
a4689fc21f Remove flags for spread calls and arrays
These features shipped in M46 without issue.

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

Cr-Commit-Position: refs/heads/master@{#31635}
2015-10-28 15:57:27 +00:00
neis
d3ef8f4b95 [es6] Ship rest parameters.
R=rossberg
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30970}
2015-09-28 11:19:35 +00:00
adamk
7462e99667 Remove on-by-default flag --harmony-object
It's been enabled since M45, which is now well into its stable period,
with no problems reported.

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

Cr-Commit-Position: refs/heads/master@{#30835}
2015-09-18 18:37:57 +00:00
caitpotter88
0cc8eaa4c6 [es6] fixup for rest parameters perf test
BUG=v8:2160
LOG=N
NOTRY=true
R=adamk, machenbach@chromium.org, rossberg

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

Cr-Commit-Position: refs/heads/master@{#30682}
2015-09-10 13:45:08 +00:00
caitpotter88
ce95a4db69 [es6] add js-perf-test for rest parameters
BUG=v8:2160
LOG=N
R=adamk, rossberg, wingo

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

Cr-Commit-Position: refs/heads/master@{#30647}
2015-09-08 23:17:11 +00:00
arv
353b40e980 [es6] Remove harmony-classes flag
Move class tests to es6 directory

BUG=v8:3330
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#29336}
2015-06-26 21:16:58 +00:00
hablich
4d9672938a Fixes for try-catch microbenchmark
BUG=v8:4131
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28828}
2015-06-08 10:11:34 +00:00
hablich
994eb59dcd Micro benchmark for Try-Catch-Finally
BUG=v8:4131
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28789}
2015-06-03 12:12:31 +00:00
hablich
f62d5ce912 For Micro-benchmarks for 'with'
R=arv@chromium.org, mstarzinger@chromium.org
BUG=v8:4131
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28714}
2015-06-01 07:40:11 +00:00
machenbach
b7eae801b4 [test] Raise timeout for js-perf-tests.
TBR=dslomov@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28557}
2015-05-21 14:36:22 +00:00
erikcorry
8cb1c3540c Adjust benchmark framework to avoid spending 50% of time on 'new Date'
R=dslomov@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28476}
2015-05-19 11:19:36 +00:00
caitpotter88
fda20efb2f [es6] implement Object.assign
BUG=v8:4007
LOG=N
R=arv@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28270}
2015-05-06 16:17:50 +00:00
caitpotter88
a6ba7ffe36 [cleanup] fix SpreadCalls perf-test names in JSTests.json
BUG=v8:3018
R=arv@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27758}
2015-04-10 18:29:25 +00:00
caitpotter88
74c381221c [es6] implement spread calls
BUG=v8:3018
R=
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27714}
2015-04-09 19:37:19 +00:00
caitpotter88
fd51f615eb [es6] remove --harmony-templates flag
BUG=v8:3230
R=dslomov@chromium.org, arv@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27352}
2015-03-23 07:01:48 +00:00
dslomov
af04fdfec8 Remove harmony-strings flag.
String functions are shipping since 4.1/Chrome M41, it is time to unflag.

R=yanngguo@chromium.org,rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27337}
2015-03-20 10:43:38 +00:00
arv
765e002a4f Fix lazy parsing for functions that use super.
The preparser needs to log the usage of super properties and then update
the scope when we create the function later.

BUG=v8:3888
LOG=N
R=dslomov@chromium.org, marja

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

Cr-Commit-Position: refs/heads/master@{#26642}
2015-02-13 18:35:09 +00:00
Erik Arvidsson
eaad793c2f Fix usage of super in js perf test
BUG=none
LOG=N
R=adamk@chromium.org, adamk, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26558}
2015-02-10 21:15:56 +00:00
caitpotter88
c78a65967a Perf tests for Template Literals
Review URL: https://codereview.chromium.org/769113002

Cr-Commit-Position: refs/heads/master@{#25789}
2014-12-12 05:14:28 +00:00
machenbach
21835209a7 Use merged JSTest config for performance tests.
The new config is now used for perf measurements. The old
ones are deleted to avoid redundancy.

This also ports https://codereview.chromium.org/754523004 to the new config file.

BUG=chromium:374740
LOG=n
TBR=ulan@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25674}
2014-12-05 08:43:19 +00:00
arv
f515e3635f Add js-perf-test for ES6 class default constructor
BUG=v8:3330
LOG=N
TBR=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25669}
2014-12-04 20:12:14 +00:00
machenbach
1364ea7c77 Make JSTests ready for Android measurements.
This adds a common perf configuration for JSTests including
Classes, Collections, Iterators and Strings. This allows
the android test runner to handle subdirectories correctly
and to share the base.js resource in the parent directory.

The new json config has added resources configs for the
Android runner.

The perf runner's relative paths on the device are fixed as
well. Resources are only pushed on the configuration node
where they are specified. They are pushed to a dir on the
device that follows the same directory structure as on the
host. The binary is executed in the benchmark folder on the
device like on the host to allow relative path file
loading.

BUG=chromium:374740
LOG=n
TEST=python -m unittest run_perf_test
TBR=ulan@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25655}
2014-12-04 10:37:42 +00:00
dslomov
5aed61cc38 Rename String.prototype.contains to 'includes'.
Per TC39 Nov 2014 decison.

R=arv@chromium.org,yangguo@chromium.org
LOG=Y

Committed: b5379216e2

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

Cr-Commit-Position: refs/heads/master@{#25448}
2014-11-20 19:21:36 +00:00
machenbach
b3acdf5347 Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/742963002/)
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289

Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org,yangguo@chromium.org
> LOG=Y
>
> Committed: b5379216e2

TBR=arv@chromium.org,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25432}
2014-11-20 09:03:54 +00:00
dslomov
2dae17fb87 Rename String.prototype.contains to 'includes'.
Per TC39 Nov 2014 decison.

R=arv@chromium.org,yangguo@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25430}
2014-11-20 00:32:13 +00:00
adamk@chromium.org
5b85911e5e Add performance tests for Map/Set with String and Object keys
The big change here is to split out each key type into its own
benchmark suite, since optimizations for different key types
are likely to be disjoint. ForEach tests have also been split
into separate "Iteration" suites, again with the thought that
iteration performance is likely separable from key type.

As part of adding the new tests, rejiggered the existing tests:
  - Map.set and Set.add (along with their Weak variants) no longer
    include construction costs in their scores
  - Moved key logic into the shared common.js

R=arv@chromium.org, machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#24969}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:18:38 +00:00
machenbach@chromium.org
5680786c21 Move js perf tests to a common root on the perf dashboard.
BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 13:04:08 +00:00
dslomov@chromium.org
1efcf09375 Perf tests for fromCodePoint and codePointAt.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:08:42 +00:00
dslomov@chromium.org
ac8b70cf2b Perf tests for harmony string functions.
R=yangguo@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:05:32 +00:00
dslomov@chromium.org
2c6b3f5b81 Initial set of perf tests for classes.
R=arv@chromium.org, machenbach@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 09:26:55 +00:00
dslomov@chromium.org
27b1c823ce Share test framework between js-perf-tests.
Also small reformat in Iterators/forof.js

R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 09:11:21 +00:00
dslomov@chromium.org
5c3831b421 Performance tests for iterators.
R=wingo@igalia.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 06:58:08 +00:00
machenbach@chromium.org
75f665d203 Move js perf test to another directory.
TBR=dslomov@chromium.org, bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:41:36 +00:00