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(); |
+} |