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

Unified Diff: test/js-perf-test/AsyncAwait/native.js

Issue 2577393002: [js-perf-test] Add a basic async-await microbenchmark (Closed)
Patch Set: Add a function with multiple awaits Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/js-perf-test/AsyncAwait/native.js
diff --git a/test/js-perf-test/AsyncAwait/native.js b/test/js-perf-test/AsyncAwait/native.js
new file mode 100644
index 0000000000000000000000000000000000000000..7b33cb946220be098574aa0b07c7ace8df85460c
--- /dev/null
+++ b/test/js-perf-test/AsyncAwait/native.js
@@ -0,0 +1,35 @@
+// Copyright 2016 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.
+
+
+new BenchmarkSuite('Native', [1000], [
+ new Benchmark('Basic', false, false, 0, Basic, Setup),
+]);
+
+var a,b,c,d,e,f,g,h,i,j,x;
+
+function Setup() {
+ x = Promise.resolve();
+
+ j = async function j() { return x; };
+ i = async function i() {
+ for (let i = 0; i < 9; i++) await j();
gsathya 2016/12/16 15:23:05 This isn't semantically equivalent to the promise
jgruber 2016/12/19 08:31:01 Done, removed Promise.all.
+ return await j();
+ };
+ h = async function h() { return await i(); };
+ g = async function g() { return await h(); };
+ f = async function f() { return await g(); };
+ e = async function e() { return await f(); };
+ d = async function d() { return await e(); };
+ c = async function c() { return await d(); };
+ b = async function b() { return await c(); };
+ a = async function a() { return await b(); };
gsathya 2016/12/16 15:23:05 No need for any await statements here. "return awa
jgruber 2016/12/19 08:31:01 Done.
+
gsathya 2016/12/16 15:23:05 i would rewrite this as async function a { awa
jgruber 2016/12/19 08:31:01 The intention was to have both function nesting (a
+ %RunMicrotasks();
+}
+
+function Basic() {
+ a();
+ %RunMicrotasks();
+}

Powered by Google App Engine
This is Rietveld 408576698