Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.

Commit 494b7f1

Browse files
Updating skip
1 parent 17464d1 commit 494b7f1

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

tests/perf/operators/skip.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
var RxOld = require('../old/rx.lite');
2+
var RxNew = require('../../../dist/rx.lite');
3+
var Benchmark = require('benchmark');
4+
5+
var suite = new Benchmark.Suite;
6+
7+
// Backfill range to get rid of differences
8+
RxOld.range = function (start, count) {
9+
var scheduler = RxNew.Scheduler.currentThread;
10+
return new RxNew.AnonymousObservable(function (observer) {
11+
return scheduler.scheduleRecursiveWithState(0, function (i, self) {
12+
if (i < count) {
13+
observer.onNext(start + i);
14+
self(i + 1);
15+
} else {
16+
observer.onCompleted();
17+
}
18+
});
19+
});
20+
};
21+
RxNew.range = RxOld.range;
22+
23+
// add tests
24+
suite.add('old', function() {
25+
RxOld.Observable.range(0, 50)
26+
.skip(25).subscribe();
27+
})
28+
.add('new', function() {
29+
RxNew.Observable.range(0, 50)
30+
.skip(25).subscribe();
31+
})
32+
// add listeners
33+
.on('cycle', function(event) {
34+
console.log(String(event.target));
35+
})
36+
.on('complete', function() {
37+
console.log('Fastest is ' + this.filter('fastest').pluck('name'));
38+
})
39+
// run async
40+
.run({ 'async': true });

0 commit comments

Comments
 (0)