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

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

Issue 2577393002: [js-perf-test] Add a basic async-await microbenchmark (Closed)
Patch Set: Re-babel 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..7979d2f4dba78ccb103e94737e2d85b322246f70
--- /dev/null
+++ b/test/js-perf-test/AsyncAwait/native.js
@@ -0,0 +1,43 @@
+// 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() {
+ await j();
+ await j();
+ await j();
+ await j();
+ await j();
+ await j();
+ await j();
+ await j();
+ await j();
+ return j();
+ };
+ h = async function h() { return i(); };
+ g = async function g() { return h(); };
+ f = async function f() { return g(); };
+ e = async function e() { return f(); };
+ d = async function d() { return e(); };
+ c = async function c() { return d(); };
+ b = async function b() { return c(); };
+ a = async function a() { return b(); };
+
+ %RunMicrotasks();
+}
+
+function Basic() {
+ a();
+ %RunMicrotasks();
+}

Powered by Google App Engine
This is Rietveld 408576698