Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Issue 2577393002: [js-perf-test] Add a basic async-await microbenchmark (Closed)

Created:
4 years ago by jgruber
Modified:
3 years, 11 months ago
CC:
v8-reviews_googlegroups.com, caitp, Benedikt Meurer, Yang
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[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} Committed: https://chromium.googlesource.com/v8/v8/+/9feefafa66cdfcc3bdb90d9308d028cedfe22916

Patch Set 1 #

Patch Set 2 : Add a function with multiple awaits #

Total comments: 8

Patch Set 3 : Address comments #

Patch Set 4 : Unroll loop #

Patch Set 5 : Re-babel #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+304 lines, -0 lines) Patch
A test/js-perf-test/AsyncAwait/baseline-babel-es2017.js View 1 2 3 4 1 chunk +169 lines, -0 lines 0 comments Download
A test/js-perf-test/AsyncAwait/baseline-naive-promises.js View 1 2 1 chunk +52 lines, -0 lines 0 comments Download
A test/js-perf-test/AsyncAwait/native.js View 1 2 3 1 chunk +43 lines, -0 lines 0 comments Download
A test/js-perf-test/AsyncAwait/run.js View 1 chunk +28 lines, -0 lines 0 comments Download
M test/js-perf-test/JSTests.json View 1 chunk +12 lines, -0 lines 2 comments Download

Messages

Total messages: 38 (28 generated)
jgruber
This is an initial go at a (very simple) microbenchmark to evaluate and track async/await ...
4 years ago (2016-12-16 14:05:00 UTC) #9
gsathya
nice, looking forward to these async function benchmarks! https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js File test/js-perf-test/AsyncAwait/baseline-naive-promises.js (right): https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js#newcode19 test/js-perf-test/AsyncAwait/baseline-naive-promises.js:19: return ...
4 years ago (2016-12-16 15:23:05 UTC) #12
Dan Ehrenberg
Great to have this test, modulo Sathya's comments.
4 years ago (2016-12-17 00:11:52 UTC) #13
jgruber
https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js File test/js-perf-test/AsyncAwait/baseline-naive-promises.js (right): https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js#newcode19 test/js-perf-test/AsyncAwait/baseline-naive-promises.js:19: return Promise.all(promises); On 2016/12/16 15:23:05, gsathya wrote: > promises ...
4 years ago (2016-12-19 08:31:02 UTC) #16
gsathya
On 2016/12/19 08:31:02, jgruber wrote: > https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js > File test/js-perf-test/AsyncAwait/baseline-naive-promises.js (right): > > https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js#newcode19 > ...
4 years ago (2016-12-20 03:33:08 UTC) #24
jgruber
On 2016/12/20 03:33:08, gsathya wrote: > On 2016/12/19 08:31:02, jgruber wrote: > > > https://codereview.chromium.org/2577393002/diff/20001/test/js-perf-test/AsyncAwait/baseline-naive-promises.js ...
4 years ago (2016-12-20 12:50:39 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2577393002/80001
4 years ago (2016-12-20 12:51:01 UTC) #32
commit-bot: I haz the power
Committed patchset #5 (id:80001) as https://chromium.googlesource.com/v8/v8/+/9feefafa66cdfcc3bdb90d9308d028cedfe22916
4 years ago (2016-12-20 13:10:13 UTC) #35
Michael Achenbach
https://codereview.chromium.org/2577393002/diff/80001/test/js-perf-test/JSTests.json File test/js-perf-test/JSTests.json (right): https://codereview.chromium.org/2577393002/diff/80001/test/js-perf-test/JSTests.json#newcode14 test/js-perf-test/JSTests.json:14: "main": "run.js", This currently fails on the bots. It ...
3 years, 12 months ago (2016-12-27 21:31:17 UTC) #37
jgruber
3 years, 11 months ago (2017-01-09 08:42:22 UTC) #38
Message was sent while issue was closed.
https://codereview.chromium.org/2577393002/diff/80001/test/js-perf-test/JSTes...
File test/js-perf-test/JSTests.json (right):

https://codereview.chromium.org/2577393002/diff/80001/test/js-perf-test/JSTes...
test/js-perf-test/JSTests.json:14: "main": "run.js",
On 2016/12/27 21:31:17, Michael Achenbach wrote:
> This currently fails on the bots. It looks like it has three sub-items that
need
> to be specified here as well like in line 73 below.
> 
> BaselineES2017
> BaselineNaivePromises
> Native

Thanks, got a CL for this at https://codereview.chromium.org/2619753002/.

Powered by Google App Engine
This is Rietveld 408576698