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

Unified Diff: test/js-perf-test/AsyncAwait/baseline-naive-promises.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/baseline-naive-promises.js
diff --git a/test/js-perf-test/AsyncAwait/baseline-naive-promises.js b/test/js-perf-test/AsyncAwait/baseline-naive-promises.js
new file mode 100644
index 0000000000000000000000000000000000000000..f59ae86194f52871e4d010bc22dbfb9abf57edfa
--- /dev/null
+++ b/test/js-perf-test/AsyncAwait/baseline-naive-promises.js
@@ -0,0 +1,52 @@
+// 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('BaselineNaivePromises', [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 = function j(p) { return p; };
+ i = function i(p) {
+ return p.then(j)
+ .then(j)
+ .then(j)
+ .then(j)
+ .then(j)
+ .then(j)
+ .then(j)
+ .then(j)
+ .then(j)
+ .then(j);
+ };
+ h = function h(p) { return p; };
+ g = function g(p) { return p; };
+ f = function f(p) { return p; };
+ e = function e(p) { return p; };
+ d = function d(p) { return p; };
+ c = function c(p) { return p; };
+ b = function b(p) { return p; };
+ a = function a(p) { return p; };
+
+ %RunMicrotasks();
+}
+
+function Basic() {
+ x.then(j)
+ .then(i)
+ .then(h)
+ .then(g)
+ .then(f)
+ .then(e)
+ .then(d)
+ .then(c)
+ .then(b)
+ .then(a);
+ %RunMicrotasks();
+}

Powered by Google App Engine
This is Rietveld 408576698