From bfd8f7717a24d9a1c454f5d8baf12beb501465e1 Mon Sep 17 00:00:00 2001 From: Tetsuharu OHZEKI Date: Tue, 1 Mar 2016 18:54:44 +0900 Subject: [PATCH] chore(forEach): add the benchmark --- .../immediate-scheduler/operators/foreach.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 perf/micro/immediate-scheduler/operators/foreach.js diff --git a/perf/micro/immediate-scheduler/operators/foreach.js b/perf/micro/immediate-scheduler/operators/foreach.js new file mode 100644 index 0000000000..f30a8dda41 --- /dev/null +++ b/perf/micro/immediate-scheduler/operators/foreach.js @@ -0,0 +1,25 @@ +var RxOld = require('rx'); +var RxNew = require('../../../../index'); + +module.exports = function (suite) { + // v4 does not have es-observable's `forEach` operator. + // So this test is just a sample for each revisions of RxNew. + var oldWithImmediateScheduler = RxOld.Observable.empty(RxOld.Scheduler.immediate); + var newForEachWithImmediateScheduler = RxNew.Observable.range(0, 25); + + var i = 0; + function foreach(v) { + i += v; + } + + function _next(x) { } + function _error(e) { } + function _complete() { } + return suite + .add('old forEach() with immediate scheduler', function () { + oldWithImmediateScheduler.subscribe(_next, _error, _complete); + }) + .add('new forEach() with immediate scheduler', function () { + newForEachWithImmediateScheduler.forEach(foreach); + }); +}; \ No newline at end of file