akarnokd / akarnokd/reactive-extensions

MergeMany benchmark

オープン
#1 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
benchmark
主要言語
C#
スター
50
フォーク
3
PR マージ指標
30日以内にマージされた PR はありません

説明

These are the benchmark results for the `MergeMany` operator (i.e., an identity `flatMap`):

Compared to the standard `Merge`:

![image](https://user-images.githubusercontent.com/1269832/39893477-22628932-54a4-11e8-8fc8-c99dc4645e63.png)
(milliseconds, smaller is better, green is better)

Compared to the standard `Merge` with maximum concurrency set to 1 (i.e., `Concat`):

![image](https://user-images.githubusercontent.com/1269832/39893515-47effea0-54a4-11e8-8c6a-401f37cde408.png)

Comparing `MergeMany` with maximum concurrency of unlimited vs 1:

![image](https://user-images.githubusercontent.com/1269832/39893623-a44cd4ac-54a4-11e8-9030-943feabe7157.png)

```
BenchmarkDotNet=v0.10.14, OS=Windows 7 SP1 (6.1.7601.0)
Intel Core i7-4770K CPU 3.50GHz (Haswell), 1 CPU, 8 logical and 4 physical cores

Frequency=3418046 Hz, Resolution=292.5648 ns, Timer=TSC
[Host] : .NET Framework 4.6.1 (CLR 4.0.30319.42000), 32bit LegacyJIT-v4.7.2558.0
Job-YSPJNA : .NET Framework 4.6.1 (CLR 4.0.30319.42000), 32bit LegacyJIT-v4.7.2558.0

IterationTime=1.0000 s LaunchCount=1 TargetCount=5 WarmupCount=5

Method | N | Mean | Error | StdDev |
--------------- |------- |----------:|------------:|-----------:|
Merge | 1 | 435.34 ms | 4.5715 ms | 1.1874 ms |
Merge_Max1 | 1 | 476.00 ms | 7.0126 ms | 1.8215 ms |
MergeMany | 1 | 304.56 ms | 263.4298 ms | 68.4249 ms |
MergeMany_Max1 | 1 | 295.44 ms | 44.1971 ms | 11.4800 ms |
Merge | 10 | 156.43 ms | 0.9074 ms | 0.2357 ms |
Merge_Max1 | 10 | 146.26 ms | 1.6526 ms | 0.4293 ms |
MergeMany | 10 | 92.40 ms | 67.5895 ms | 17.5561 ms |
MergeMany_Max1 | 10 | 70.53 ms | 1.6063 ms | 0.4172 ms |
Merge | 100 | 151.95 ms | 74.7882 ms | 19.4260 ms |
Merge_Max1 | 100 | 116.44 ms | 1.4625 ms | 0.3799 ms |
MergeMany | 100 | 81.21 ms | 0.3338 ms | 0.0867 ms |
MergeMany_Max1 | 100 | 49.19 ms | 0.2280 ms | 0.0592 ms |
Merge | 1000 | 149.30 ms | 85.6504 ms | 22.2474 ms |
Merge_Max1 | 1000 | 109.92 ms | 2.1634 ms | 0.5619 ms |
MergeMany | 1000 | 85.93 ms | 66.3714 ms | 17.2397 ms |
MergeMany_Max1 | 1000 | 47.65 ms | 0.7213 ms | 0.1874 ms |
Merge | 10000 | 122.77 ms | 0.8912 ms | 0.2315 ms |
Merge_Max1 | 10000 | 110.15 ms | 1.8893 ms | 0.4907 ms |
MergeMany | 10000 | 60.47 ms | 0.2172 ms | 0.0564 ms |
MergeMany_Max1 | 10000 | 46.30 ms | 0.1806 ms | 0.0469 ms |
Merge | 100000 | 108.19 ms | 1.4563 ms | 0.3783 ms |
Merge_Max1 | 100000 | 108.87 ms | 1.1898 ms | 0.3090 ms |
MergeMany | 100000 | 46.52 ms | 0.6474 ms | 0.1682 ms |
MergeMany_Max1 | 100000 | 46.39 ms | 1.7808 ms | 0.4625 ms |
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。