Skip to content

Add benchmarks for schedulers#215

Merged
AlexInLog merged 3 commits into
mainfrom
benchmark_schedulers
Aug 11, 2022
Merged

Add benchmarks for schedulers#215
AlexInLog merged 3 commits into
mainfrom
benchmark_schedulers

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@codecov

codecov Bot commented Aug 11, 2022

Copy link
Copy Markdown

Codecov Report

Merging #215 (58c9453) into main (e3ee143) will not change coverage.
The diff coverage is n/a.

❗ Current head 58c9453 differs from pull request most recent head 7ec9c21. Consider uploading reports for the commit 7ec9c21 to get more accurate results

@@           Coverage Diff           @@
##             main     #215   +/-   ##
=======================================
  Coverage   99.63%   99.63%           
=======================================
  Files          84       84           
  Lines        1110     1110           
=======================================
  Hits         1106     1106           
  Misses          4        4           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@github-actions

github-actions Bot commented Aug 11, 2022

Copy link
Copy Markdown
Contributor

Linux CLANG

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.335739 1.20 0.40ns
Dynamic observable construction 31.56ns 29.1597 1.08 25.35ns
Specific observable construction + as_dynamic 31.43ns 29.2343 1.08 25.52ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 78.17ns 71.3571 1.10 298.62ns
Specific observable lift dynamic observer 105.33ns 95.3377 1.10 312.10ns
Dynamic observable lift specific observer 160.12ns 154.461 1.04 342.45ns
Dynamic observable lift dynamic observer 174.99ns 163.271 1.07 330.51ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 48.66ns 45.3359 1.07 290.02ns
Specific observable subscribe dynamic observer 61.26ns 59.958 1.02 297.12ns
Dynamic observable subscribe specific observer 114.06ns 113.039 1.01 335.63ns
Dynamic observable subscribe dynamic observer 113.73ns 115.781 0.98 315.20ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 48.76ns 45.1239 1.08 294.87ns
Dynamic observable subscribe lambda 110.10ns 110.005 1.00 332.49ns
Specific observable subscribe lambda without subscription 48.72ns 45.3209 1.07 290.21ns
Dynamic observable subscribe lambda without subscription 109.69ns 110.397 0.99 331.49ns
Specific observable subscribe specific subscriber 16.09ns 16.7235 0.96 224.30ns
Dynamic observable subscribe specific subscriber 77.37ns 77.3275 1.00 266.63ns
Specific observable subscribe dynamic observer 16.06ns 16.764 0.96 233.88ns
Dynamic observable subscribe dynamic observer 67.13ns 64.6718 1.04 254.75ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.334642 1.20 0.40ns
Dynamic observer construction 31.38ns 29.2045 1.07 19.29ns
Specific observer construction + as_dynamic 31.44ns 29.2091 1.08 19.29ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.80ns 0.670521 1.20 0.44ns
Dynamic observer OnNext 2.01ns 1.67458 1.20 1.61ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 32.71ns 31.5244 1.04 71.99ns
Make copy of subscriber 16.07ns 16.7129 0.96 5.12ns
Transform subsriber to dynamic 44.80ns 45.9032 0.98 24.29ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 33.19ns 31.47 1.05 47.91ns
composite_subscription add 40.94ns 38.5048 1.06 22.67ns
composite_subscription unsubscribe 8.04ns 6.03075 1.33 10.83ns
composite_subscription unsubscribe only subscribed 8.06ns 8.40651 0.96 10.89ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 267.45ns 255.021 1.05 2138.13ns
sending of values from observable via buffer to subscriber 3.16ns 4.69448 0.67 24.04ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 256.17ns 229.789 1.11 519.00ns
long stateful chain creation + subscribe 428.60ns 399.059 1.07 855.86ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1357.40ns 1276.35 1.06 3705.99ns
concat_with 1640.83ns 1542.12 1.06 4165.41ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 98.99ns 101.082 0.98 244.64ns
sending of values from observable via distinct_until_changed to subscriber 2.41ns 2.34828 1.03 1.61ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 52.42ns 49.5747 1.06 669.02ns
error 101.43ns 100.595 1.01 759.00ns
never 17.72ns 16.7327 1.06 241.03ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 64.58ns 63.521 1.02 705.40ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 41.78ns None . 116.16ns
re-schedule 10 times 613.41ns None . 140.79ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 54.67ns 52.8219 1.04 680.16ns
just send variadic 77.13ns 89.7003 0.86 772.26ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 64.36ns 52.9216 1.22 236.61ns
sending of values from observable via map to subscriber 0.80ns 1.34032 0.60 1.73ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1436.84ns 1328.54 1.08 3613.88ns
merge_with 1782.40ns 1655.76 1.08 3972.73ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 794.76ns 783.677 1.01 2528.35ns
sending of values from observable via observe_on to subscriber 140.68ns 141.044 1.00 196.63ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.57ns 24.4418 1.21 8.52ns
on_error 2.02ns 2.62559 0.77 19.01ns
on_completed 1.67ns 1.72438 0.97 0.60ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 158.75ns 163.085 0.97 154.03ns
get_observable 33.77ns 26.4674 1.28 45.06ns
get_subscriber 66.78ns 58.1671 1.15 11.76ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3839.86ns 3602.67 1.07 3179.21ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 96.60ns 91.0885 1.06 296.30ns
sending of values from observable via scan to subscriber 2.01ns 1.67308 1.20 1.66ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 96.04ns 89.6827 1.07 476.13ns
sending of values from observable via skip to subscriber 1.91ns 2.3416 0.82 2.60ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 1963.49ns 1884.03 1.04 3069.24ns
sending of values from observable via switch_on_next to subscriber 508.64ns 472.694 1.08 715.02ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 161.16ns 153.362 1.05 504.12ns
sending of values from observable via take to subscriber 2.16ns 2.01687 1.07 2.18ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 486.54ns None . 156.29ns
re-schedule 10 times 4287.56ns None . 179.82ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2027.06ns 1886.96 1.07 3460.99ns
sending of values from observable via window to subscriber 552.94ns 506.357 1.09 372.49ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 713.33ns 696.183 1.02 1125.43ns
sending of values from observable via with_latest_from to subscriber 22.51ns 17.7471 1.27 2.45ns

Linux GCC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.30ns 0.396776 0.75 0.30ns
Dynamic observable construction 28.01ns 37.3473 0.75 20.36ns
Specific observable construction + as_dynamic 27.74ns 37.0579 0.75 21.06ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 67.80ns 92.4844 0.73 296.69ns
Specific observable lift dynamic observer 95.32ns 130.26 0.73 312.69ns
Dynamic observable lift specific observer 141.90ns 192.683 0.74 344.44ns
Dynamic observable lift dynamic observer 159.70ns 198.783 0.80 326.27ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 39.89ns 50.5426 0.79 290.22ns
Specific observable subscribe dynamic observer 51.60ns 61.5911 0.84 296.77ns
Dynamic observable subscribe specific observer 100.42ns 133.612 0.75 336.10ns
Dynamic observable subscribe dynamic observer 96.42ns 131.097 0.74 302.69ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 39.88ns 50.8485 0.78 287.76ns
Dynamic observable subscribe lambda 101.34ns 134.592 0.75 326.65ns
Specific observable subscribe lambda without subscription 39.92ns 53.1036 0.75 287.70ns
Dynamic observable subscribe lambda without subscription 100.08ns 135.595 0.74 342.57ns
Specific observable subscribe specific subscriber 14.78ns 19.6334 0.75 237.14ns
Dynamic observable subscribe specific subscriber 71.24ns 97.1521 0.73 275.53ns
Specific observable subscribe dynamic observer 14.75ns 19.4154 0.76 239.79ns
Dynamic observable subscribe dynamic observer 58.26ns 77.6605 0.75 251.35ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.30ns 0.392597 0.75 0.30ns
Dynamic observer construction 29.15ns 35.3803 0.82 18.65ns
Specific observer construction + as_dynamic 27.81ns 36.5612 0.76 18.75ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.30ns 0.403794 0.74 0.29ns
Dynamic observer OnNext 1.77ns 2.02572 0.87 1.77ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 27.58ns 36.0591 0.76 52.84ns
Make copy of subscriber 14.75ns 19.9816 0.74 4.41ns
Transform subsriber to dynamic 39.39ns 56.3635 0.70 23.79ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 27.31ns 37.5518 0.73 48.70ns
composite_subscription add 35.34ns 47.7071 0.74 15.42ns
composite_subscription unsubscribe 7.40ns 9.94804 0.74 9.64ns
composite_subscription unsubscribe only subscribed 6.18ns 8.1886 0.75 9.87ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 223.89ns 298.034 0.75 1712.64ns
sending of values from observable via buffer to subscriber 5.17ns 6.06742 0.85 28.42ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 230.73ns 316.386 0.73 630.48ns
long stateful chain creation + subscribe 354.24ns 480.35 0.74 938.13ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1214.97ns 1632.0 0.74 3157.71ns
concat_with 1440.96ns 1978.53 0.73 3560.42ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 91.34ns 121.283 0.75 318.93ns
sending of values from observable via distinct_until_changed to subscriber 2.66ns 3.16927 0.84 2.07ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 43.71ns 59.87 0.73 651.64ns
error 91.57ns 119.712 0.76 740.45ns
never 14.90ns 19.7972 0.75 249.43ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 61.56ns 82.4552 0.75 685.57ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 37.52ns None . 117.29ns
re-schedule 10 times 543.70ns None . 144.68ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 46.73ns 59.5259 0.79 687.37ns
just send variadic 78.55ns 104.518 0.75 732.73ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 56.53ns 74.4938 0.76 307.04ns
sending of values from observable via map to subscriber 1.48ns 2.01283 0.73 2.36ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1265.88ns 1713.31 0.74 3357.04ns
merge_with 1604.08ns 2194.71 0.73 3702.67ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 710.79ns 834.934 0.85 2580.33ns
sending of values from observable via observe_on to subscriber 125.56ns 162.495 0.77 210.67ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 19.79ns 26.8818 0.74 10.87ns
on_error 1.26ns 1.59973 0.79 14.83ns
on_completed 0.59ns 0.755072 0.78 0.59ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 153.11ns 211.233 0.72 156.62ns
get_observable 26.01ns 34.7818 0.75 44.22ns
get_subscriber 54.28ns 66.3739 0.82 20.58ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3398.42ns 4654.88 0.73 2820.94ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 85.78ns 117.003 0.73 347.84ns
sending of values from observable via scan to subscriber 1.77ns 2.41319 0.73 1.40ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 88.45ns 111.6 0.79 489.76ns
sending of values from observable via skip to subscriber 2.07ns 2.63007 0.79 2.04ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 16423.30ns 17915.0 0.92 3860.91ns
sending of values from observable via switch_on_next to subscriber 522.68ns 1723.5 0.30 946.23ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 132.06ns 182.308 0.72 523.30ns
sending of values from observable via take to subscriber 2.67ns 4.68001 0.57 3.16ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 409.05ns None . 163.67ns
re-schedule 10 times 3471.55ns None . 192.38ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 1757.59ns 2373.79 0.74 2909.64ns
sending of values from observable via window to subscriber 489.37ns 672.112 0.73 372.38ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 689.75ns 861.78 0.80 1331.95ns
sending of values from observable via with_latest_from to subscriber 15.57ns 20.9657 0.74 4.45ns

Windows MSVC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.50ns 1.82628 0.82 0.67ns
Dynamic observable construction 82.47ns 96.9489 0.85 131.21ns
Specific observable construction + as_dynamic 82.25ns 96.1818 0.86 124.34ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 134.53ns 163.285 0.82 1205.77ns
Specific observable lift dynamic observer 161.84ns 199.392 0.81 1257.48ns
Dynamic observable lift specific observer 266.24ns 350.154 0.76 1392.79ns
Dynamic observable lift dynamic observer 216.59ns 260.745 0.83 1301.30ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 104.31ns 124.588 0.84 1166.55ns
Specific observable subscribe dynamic observer 117.94ns 144.098 0.82 1203.23ns
Dynamic observable subscribe specific observer 215.38ns 259.157 0.83 1352.21ns
Dynamic observable subscribe dynamic observer 166.13ns 202.143 0.82 1228.05ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 104.64ns 122.494 0.85 1167.65ns
Dynamic observable subscribe lambda 215.72ns 258.471 0.83 1349.32ns
Specific observable subscribe lambda without subscription 104.76ns 122.807 0.85 1166.64ns
Dynamic observable subscribe lambda without subscription 215.68ns 242.183 0.89 1358.21ns
Specific observable subscribe specific subscriber 16.72ns 20.0046 0.84 842.53ns
Dynamic observable subscribe specific subscriber 131.66ns 155.388 0.85 1017.64ns
Specific observable subscribe dynamic observer 16.71ns 23.5367 0.71 879.97ns
Dynamic observable subscribe dynamic observer 63.90ns 75.4647 0.85 913.54ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.50ns 1.81595 0.83 1.50ns
Dynamic observer construction 82.46ns 97.9359 0.84 114.86ns
Specific observer construction + as_dynamic 81.75ns 125.571 0.65 114.73ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.80173 0.83 0.67ns
Dynamic observer OnNext 1.67ns 2.40823 0.70 1.70ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 88.42ns 106.719 0.83 344.67ns
Make copy of subscriber 14.39ns 17.258 0.83 31.42ns
Transform subsriber to dynamic 98.30ns 116.615 0.84 154.34ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 88.42ns 105.794 0.84 338.70ns
composite_subscription add 89.34ns 69.9788 1.28 62.85ns
composite_subscription unsubscribe 8.36ns 10.1613 0.82 25.50ns
composite_subscription unsubscribe only subscribed 6.91ns 9.84045 0.70 25.48ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 384.56ns 532.39 0.72 4434.83ns
sending of values from observable via buffer to subscriber 6.03ns 7.46575 0.81 92.69ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 244.09ns 291.432 0.84 1721.93ns
long stateful chain creation + subscribe 636.79ns 768.73 0.83 3148.50ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1981.23ns 2431.85 0.81 10668.70ns
concat_with 2582.10ns 3099.4 0.83 11462.00ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 163.09ns 204.158 0.80 1028.60ns
sending of values from observable via distinct_until_changed to subscriber 3.36ns 4.2287 0.79 3.51ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 50.78ns 88.4745 0.57 2394.09ns
error 99.00ns 118.674 0.83 2477.20ns
never 17.11ns 19.5614 0.87 882.69ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 121.45ns 141.176 0.86 2455.55ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 39.15ns None . 412.73ns
re-schedule 10 times 565.61ns None . 437.17ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 60.16ns 68.1966 0.88 2407.82ns
just send variadic 91.89ns 107.633 0.85 2479.60ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 68.21ns 93.0578 0.73 993.27ns
sending of values from observable via map to subscriber 3.52ns 5.01044 0.70 6.51ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2041.38ns 2428.83 0.84 10794.30ns
merge_with 2704.00ns 2997.7 0.90 11529.30ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 1085.04ns 1319.42 0.82 5629.00ns
sending of values from observable via observe_on to subscriber 136.20ns 164.138 0.83 852.88ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 20.49ns 26.9514 0.76 32.58ns
on_error 2.70ns 3.82299 0.71 18.39ns
on_completed 2.36ns 3.29514 0.72 1.36ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 315.50ns 389.449 0.81 586.35ns
get_observable 25.83ns 34.983 0.74 163.30ns
get_subscriber 50.21ns 63.3326 0.79 91.63ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 5746.20ns 6857.2 0.84 11185.70ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 173.38ns 196.289 0.88 1245.67ns
sending of values from observable via scan to subscriber 5.64ns 7.3694 0.76 9.06ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 155.65ns 190.973 0.82 1521.81ns
sending of values from observable via skip to subscriber 4.15ns 5.61471 0.74 3.37ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3428.33ns 4116.5 0.83 12291.70ns
sending of values from observable via switch_on_next to subscriber 763.41ns 903.324 0.85 3078.22ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 210.32ns 252.451 0.83 2130.50ns
sending of values from observable via take to subscriber 5.10ns 6.95823 0.73 6.41ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 593.02ns None . 611.07ns
re-schedule 10 times 4489.43ns None . 640.75ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2820.20ns 3387.11 0.83 9645.00ns
sending of values from observable via window to subscriber 816.22ns 966.581 0.84 1599.62ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1311.23ns 1539.76 0.85 3811.17ns
sending of values from observable via with_latest_from to subscriber 28.97ns 34.9874 0.83 6.67ns

@AlexInLog AlexInLog merged commit 349b9e5 into main Aug 11, 2022
@AlexInLog AlexInLog deleted the benchmark_schedulers branch August 11, 2022 11:02
@sonarqubecloud

Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 4 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant