Skip to content

Commit 8e5508d

Browse files
luisgabrielkwonoj
authored andcommitted
chore(micro-perf): add perf test for mergeMapTo with resultSelector
Results on a Intel Core i7-3770 (Ivy Bridge) running Ubuntu: | RxJS 4.0.7 | RxJS 5.0.0-beta.1 | factor | % improved ------------------------------------------------------------------------------------------------- mergemapto-resultselector - immediate | 811 (±1.50%) | 5,376 (±1.10%) | 6.63x | 562.7% mergemapto-resultselector | 369 (±0.43%) | 1,957 (±0.45%) | 5.30x | 429.7%
1 parent c8cf72a commit 8e5508d

File tree

6 files changed

+43
-1
lines changed

6 files changed

+43
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var RxOld = require('rx');
2+
var RxNew = require('../../../../index');
3+
4+
module.exports = function (suite) {
5+
var resultSelector = function (x, y, ix, iy) { return x + y + ix + iy; };
6+
var oldMergeMapWithCurrentThreadScheduler = RxOld.Observable.range(0, 25, RxOld.Scheduler.currentThread)
7+
.flatMap(RxOld.Observable.range(0, 25, RxOld.Scheduler.currentThread), resultSelector);
8+
var newMergeMapWithCurrentThreadScheduler = RxNew.Observable.range(0, 25, RxNew.Scheduler.queue)
9+
.mergeMapTo(RxNew.Observable.range(0, 25, RxNew.Scheduler.queue), resultSelector);
10+
11+
function _next(x) { }
12+
function _error(e) { }
13+
function _complete() { }
14+
return suite
15+
.add('old mergeMap (Observable) with resultSelector and currentThread scheduler', function () {
16+
oldMergeMapWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
17+
})
18+
.add('new mergeMap (Observable) with resultSelector and currentThread scheduler', function () {
19+
newMergeMapWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
20+
});
21+
};

perf/micro/current-thread-scheduler/operators/mergemap-observable-scalar.js perf/micro/current-thread-scheduler/operators/mergemapto-scalar.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ module.exports = function (suite) {
1717
.add('new mergeMap (scalar Observable) with current thread scheduler', function () {
1818
newMergeMapWithCurrentThreadScheduler.subscribe(_next, _error, _complete);
1919
});
20-
};
20+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var RxOld = require('rx');
2+
var RxNew = require('../../../../index');
3+
4+
module.exports = function (suite) {
5+
var resultSelector = function (x, y, ix, iy) { return x + y + ix + iy; };
6+
var oldMergeMapWithImmediateScheduler = RxOld.Observable.range(0, 25, RxOld.Scheduler.immediate)
7+
.flatMap(RxOld.Observable.range(0, 25, RxOld.Scheduler.immediate), resultSelector);
8+
var newMergeMapWithImmediateScheduler = RxNew.Observable.range(0, 25)
9+
.mergeMapTo(RxNew.Observable.range(0, 25), resultSelector);
10+
11+
function _next(x) { }
12+
function _error(e) { }
13+
function _complete() { }
14+
return suite
15+
.add('old mergeMap (Observable) with resultSelector and immediate scheduler', function () {
16+
oldMergeMapWithImmediateScheduler.subscribe(_next, _error, _complete);
17+
})
18+
.add('new mergeMap (Observable) with resultSelector and immediate scheduler', function () {
19+
newMergeMapWithImmediateScheduler.subscribe(_next, _error, _complete);
20+
});
21+
};

0 commit comments

Comments
 (0)