Skip to content

Commit

Permalink
chore(micro-perf): add perf tests for skipWhile
Browse files Browse the repository at this point in the history
Results on a Intel Core i7-3770 (Ivy Bridge) running Ubuntu:

                      |      RxJS 4.0.7 | RxJS 5.0.0-beta.1 | factor | % improved
----------------------------------------------------------------------------------
skipwhile - immediate | 27,101 (±1.37%) |  122,827 (±0.29%) |  4.53x |     353.2%
            skipwhile |  8,034 (±1.32%) |   82,160 (±0.28%) | 10.23x |     922.7%
  • Loading branch information
luisgabriel authored and kwonoj committed Feb 4, 2016
1 parent b862c58 commit a8f4678
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
21 changes: 21 additions & 0 deletions perf/micro/current-thread-scheduler/operators/skipwhile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
var RxOld = require('rx');
var RxNew = require('../../../../index');

module.exports = function (suite) {
var predicate = function (value) { return value < 25; };
var oldSkipWhileWithCurrentThreadScheduler =
RxOld.Observable.range(0, 50, RxOld.Scheduler.currentThread).skipWhile(predicate);
var newSkipWhileWithCurrentThreadScheduler =
RxNew.Observable.range(0, 50, RxNew.Scheduler.queue).skipWhile(predicate);

function _next(x) { }
function _error(e) { }
function _complete() { }
return suite
.add('old skipWhile with current thread scheduler', function () {
oldSkipWhileWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
})
.add('new skipWhile with current thread scheduler', function () {
newSkipWhileWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
});
};
21 changes: 21 additions & 0 deletions perf/micro/immediate-scheduler/operators/skipwhile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
var RxOld = require('rx');
var RxNew = require('../../../../index');

module.exports = function (suite) {
var predicate = function (value) { return value < 25; };
var oldSkipWhileWithImmediateScheduler =
RxOld.Observable.range(0, 50, RxOld.Scheduler.immediate).skipWhile(predicate);
var newSkipWhileWithImmediateScheduler =
RxNew.Observable.range(0, 50).skipWhile(predicate);

function _next(x) { }
function _error(e) { }
function _complete() { }
return suite
.add('old skipWhile with immediate scheduler', function () {
oldSkipWhileWithImmediateScheduler.subscribe(_next, _error, _complete);
})
.add('new skipWhile with immediate scheduler', function () {
newSkipWhileWithImmediateScheduler.subscribe(_next, _error, _complete);
});
};

0 comments on commit a8f4678

Please sign in to comment.