Skip to content

Commit 02f79e4

Browse files
martinsikdavidwdan
authored andcommitted
more benchmarks
1 parent cea5ee5 commit 02f79e4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+539
-22
lines changed

benchmark/catch/catch.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
use Rx\Observable;
4+
5+
$source = Observable::error(new \Exception('error'))
6+
->catchError(function() {
7+
return Observable::just(25);
8+
});
9+
10+
return function() use ($source) {
11+
return $source;
12+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
use Rx\Observable;
4+
5+
$source = Observable::range(0, 25)
6+
->combineLatest([Observable::range(0, 25)], function($a, $b) {
7+
return $a + $b;
8+
});
9+
10+
return function() use ($source) {
11+
return $source;
12+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
use Rx\Observable;
4+
use Rx\Scheduler\EventLoopScheduler;
5+
use React\EventLoop\StreamSelectLoop;
6+
7+
$loop = new StreamSelectLoop();
8+
$scheduler = new EventLoopScheduler($loop);
9+
10+
$source = Observable::range(0, 25, $scheduler)
11+
->combineLatest([Observable::range(0, 25, $scheduler)], function($a, $b) {
12+
return $a + $b;
13+
});
14+
15+
$factory = function() use ($source) {
16+
return $source;
17+
};
18+
19+
return [$factory, $loop];

benchmark/concat/concat.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
use Rx\Observable;
44

5-
$source = Observable::range(1, 25)
6-
->concat(Observable::range(1, 25));
5+
$source = Observable::range(0, 25)
6+
->concat(Observable::range(0, 25));
77

88
return function() use ($source) {
99
return $source;

benchmark/concat/concat_eventloop.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
$loop = new StreamSelectLoop();
88
$scheduler = new EventLoopScheduler($loop);
99

10-
$source = Observable::range(1, 25, $scheduler)
11-
->concat(Observable::range(1, 25, $scheduler));
10+
$source = Observable::range(0, 25, $scheduler)
11+
->concat(Observable::range(0, 25, $scheduler));
1212

1313
$factory = function() use ($source) {
1414
return $source;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
use Rx\Observable;
4+
5+
$source = Observable::emptyObservable()
6+
->defaultIfEmpty(Observable::just(25));
7+
8+
return function() use ($source) {
9+
return $source;
10+
};

benchmark/distinct/distinct.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22

33
use Rx\Observable;
44

5-
$range = array_map(function($val) {
6-
return $val % 3;
7-
}, range(0, 25));
8-
9-
$source = Observable::fromArray($range)
5+
$source = Observable::range(0, 25)
6+
->map(function($i) {
7+
return $i % 3;
8+
})
109
->distinct();
1110

1211
return function() use ($source) {

benchmark/distinct/distinct_eventloop.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@
88
$loop = new StreamSelectLoop();
99
$scheduler = new EventLoopScheduler($loop);
1010

11-
$range = array_map(function($val) {
12-
return $val % 3;
13-
}, range(0, 25));
14-
15-
$source = (new ArrayObservable($range, $scheduler))
11+
$source = Observable::range(0, 25, $scheduler)
12+
->map(function($i) {
13+
return $i % 3;
14+
})
1615
->distinct();
1716

1817
$factory = function() use ($source) {

benchmark/forkJoin/forkJoin.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
use Rx\Observable;
4+
5+
$source = Observable::defer(function() {
6+
return Observable::forkJoin([
7+
Observable::just(25),
8+
Observable::range(0, 25),
9+
Observable::fromArray(([1, 2, 3, 4, 5]))
10+
]);
11+
});
12+
13+
return function() use ($source) {
14+
return $source;
15+
};

benchmark/groupBy/groupBy.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
use Rx\Observable;
4+
5+
$source = Observable::range(0, 25)
6+
->map(function($i) {
7+
return ['key' => $i % 5];
8+
})
9+
->groupBy(function($item) {
10+
return $item['key'];
11+
});
12+
13+
return function() use ($source) {
14+
return $source;
15+
};

0 commit comments

Comments
 (0)