Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split CI to multiple jobs #247

Merged
merged 17 commits into from
Aug 31, 2022
Merged

Split CI to multiple jobs #247

merged 17 commits into from
Aug 31, 2022

Conversation

victimsnino
Copy link
Owner

No description provided.

@github-actions
Copy link
Contributor

ci-ubuntu-clang

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.62ns 0.278988 2.23 0.41ns
Dynamic observable construction 47.13ns 30.8527 1.53 30.53ns
Specific observable construction + as_dynamic 42.70ns 24.7982 1.72 30.06ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 156.19ns 116.106 1.35 356.77ns
Specific observable lift dynamic observer 179.95ns 139.866 1.29 376.97ns
Dynamic observable lift specific observer 245.41ns 217.183 1.13 411.67ns
Dynamic observable lift dynamic observer 246.82ns 176.704 1.40 397.08ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 113.80ns 108.184 1.05 354.96ns
Specific observable subscribe dynamic observer 123.40ns 90.6278 1.36 366.43ns
Dynamic observable subscribe specific observer 196.03ns 147.415 1.33 403.86ns
Dynamic observable subscribe dynamic observer 185.47ns 147.431 1.26 388.91ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 135.06ns 97.967 1.38 354.81ns
Dynamic observable subscribe lambda 190.13ns 133.216 1.43 422.13ns
Specific observable subscribe lambda without subscription 111.88ns 91.9964 1.22 356.28ns
Dynamic observable subscribe lambda without subscription 189.45ns 138.505 1.37 400.77ns
Specific observable subscribe specific subscriber 52.24ns 42.7354 1.22 283.57ns
Dynamic observable subscribe specific subscriber 129.19ns 104.874 1.23 350.74ns
Specific observable subscribe dynamic observer 52.63ns 38.3856 1.37 303.13ns
Dynamic observable subscribe dynamic observer 113.73ns 89.628 1.27 354.07ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.290113 1.39 0.40ns
Dynamic observer construction 35.05ns 29.0558 1.21 25.16ns
Specific observer construction + as_dynamic 35.04ns 29.3595 1.19 25.44ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.80ns 0.623317 1.29 0.82ns
Dynamic observer OnNext 2.01ns 1.83278 1.10 2.81ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 59.13ns 41.2615 1.43 80.46ns
Make copy of subscriber 20.08ns 15.7863 1.27 5.67ns
Transform subsriber to dynamic 55.02ns 46.965 1.17 31.98ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 50.14ns 80.9935 0.62 63.46ns
composite_subscription add 59.55ns 51.178 1.16 25.51ns
composite_subscription unsubscribe 15.10ns 11.9759 1.26 13.10ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 322.35ns 361.924 0.89 2266.49ns
sending of values from observable via buffer to subscriber 7.70ns 6.51742 1.18 32.38ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 327.22ns 279.0 1.17 606.71ns
long stateful chain creation + subscribe 478.01ns 366.452 1.30 959.18ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 757.49ns 651.95 1.16 1073.19ns
sending of values from observable via combine_latest to subscriber 21.71ns 20.8586 1.04 2.82ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1706.19ns 1262.1 1.35 3613.30ns
concat_with 2021.59ns 1682.37 1.20 4036.34ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 153.41ns 111.535 1.38 348.77ns
sending of values from observable via distinct_until_changed to subscriber 3.22ns 2.70125 1.19 2.41ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 173.56ns 150.07 1.16 707.48ns
sending of values from observable via first to subscriber 0.80ns 0.530903 1.52 0.81ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 102.37ns 106.851 0.96 756.49ns
error 162.06ns 153.03 1.06 896.65ns
never 56.54ns 50.6983 1.12 309.23ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 119.40ns 112.914 1.06 794.86ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 32.92ns 20.8966 1.58 134.90ns
re-schedule 10 times 39.70ns 28.5636 1.39 169.03ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 104.08ns 125.392 0.83 765.98ns
just send variadic 139.59ns 111.742 1.25 905.35ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 115.25ns 94.2446 1.22 303.01ns
sending of values from observable via map to subscriber 1.21ns 0.985725 1.22 1.81ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1647.70ns 1285.5 1.28 3613.94ns
merge_with 1957.59ns 2130.06 0.92 3850.13ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 719.02ns 566.821 1.27 3065.02ns
sending of values from observable via observe_on to subscriber 108.47ns 97.4523 1.11 241.37ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 28.93ns 31.7574 0.91 11.34ns
on_error 0.61ns 0.531266 1.14 22.99ns
on_completed 0.61ns 0.50567 1.20 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 232.67ns 180.041 1.29 224.86ns
get_observable 34.95ns 25.7287 1.36 59.38ns
get_subscriber 69.85ns 54.6707 1.28 16.80ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4825.40ns 4167.0 1.16 3161.94ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 151.28ns 109.645 1.38 370.21ns
sending of values from observable via scan to subscriber 2.41ns 2.35378 1.02 2.41ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 145.10ns 114.28 1.27 563.67ns
sending of values from observable via skip to subscriber 2.81ns 2.28547 1.23 2.13ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2269.47ns 1635.33 1.39 3539.21ns
sending of values from observable via switch_on_next to subscriber 631.33ns 457.585 1.38 781.15ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 224.83ns 194.654 1.16 591.59ns
sending of values from observable via take to subscriber 2.81ns 3.05458 0.92 4.03ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 47.48ns 29.5654 1.61 196.19ns
re-schedule 10 times 67.00ns 44.9009 1.49 237.56ns
recursively schedule 10 times 1754.15ns 1827.72 0.96 6691.22ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2453.41ns 1989.85 1.23 3684.50ns
sending of values from observable via window to subscriber 667.31ns 477.646 1.40 436.50ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 788.84ns 741.03 1.06 1334.08ns
sending of values from observable via with_latest_from to subscriber 21.29ns 16.4996 1.29 3.82ns

ci-ubuntu-clang-benchmarks-with-cppcheck

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.41ns None . 0.39ns
Dynamic observable construction 34.59ns None . 28.67ns
Specific observable construction + as_dynamic 35.57ns None . 29.51ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 151.20ns None . 406.84ns
Specific observable lift dynamic observer 186.15ns None . 380.49ns
Dynamic observable lift specific observer 231.93ns None . 379.43ns
Dynamic observable lift dynamic observer 283.54ns None . 403.43ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 108.56ns None . 359.62ns
Specific observable subscribe dynamic observer 121.25ns None . 361.82ns
Dynamic observable subscribe specific observer 292.15ns None . 413.32ns
Dynamic observable subscribe dynamic observer 190.34ns None . 405.98ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 113.78ns None . 344.04ns
Dynamic observable subscribe lambda 382.71ns None . 471.33ns
Specific observable subscribe lambda without subscription 144.01ns None . 350.19ns
Dynamic observable subscribe lambda without subscription 167.23ns None . 521.60ns
Specific observable subscribe specific subscriber 52.32ns None . 298.85ns
Dynamic observable subscribe specific subscriber 140.04ns None . 379.99ns
Specific observable subscribe dynamic observer 53.82ns None . 296.86ns
Dynamic observable subscribe dynamic observer 118.33ns None . 324.25ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.39ns None . 0.39ns
Dynamic observer construction 33.92ns None . 23.83ns
Specific observer construction + as_dynamic 33.72ns None . 21.92ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.76ns None . 0.81ns
Dynamic observer OnNext 2.24ns None . 2.90ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 144.11ns None . 68.20ns
Make copy of subscriber 20.12ns None . 5.18ns
Transform subsriber to dynamic 58.89ns None . 29.70ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 51.21ns None . 57.61ns
composite_subscription add 62.49ns None . 36.12ns
composite_subscription unsubscribe 27.53ns None . 13.04ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 314.49ns None . 2450.62ns
sending of values from observable via buffer to subscriber 7.68ns None . 32.28ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 323.64ns None . 615.86ns
long stateful chain creation + subscribe 438.79ns None . 1095.30ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 769.77ns None . 1091.76ns
sending of values from observable via combine_latest to subscriber 22.45ns None . 2.35ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1913.82ns None . 3936.36ns
concat_with 2050.95ns None . 4620.29ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 169.28ns None . 320.00ns
sending of values from observable via distinct_until_changed to subscriber 3.84ns None . 1.39ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 182.09ns None . 1781.67ns
sending of values from observable via first to subscriber 0.66ns None . 0.62ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 110.73ns None . 792.49ns
error 176.62ns None . 1049.92ns
never 62.11ns None . 302.25ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 125.00ns None . 989.11ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 25.82ns None . 130.47ns
re-schedule 10 times 40.46ns None . 164.40ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 104.35ns None . 800.01ns
just send variadic 147.90ns None . 943.49ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 102.03ns None . 319.19ns
sending of values from observable via map to subscriber 0.97ns None . 1.77ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1631.11ns None . 3786.14ns
merge_with 1931.58ns None . 3673.11ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 614.05ns None . 3140.53ns
sending of values from observable via observe_on to subscriber 103.22ns None . 269.39ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 28.59ns None . 12.16ns
on_error 0.61ns None . 18.72ns
on_completed 0.62ns None . 0.63ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 244.64ns None . 212.29ns
get_observable 31.01ns None . 59.10ns
get_subscriber 67.77ns None . 18.47ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 5220.32ns None . 3676.03ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 152.82ns None . 385.76ns
sending of values from observable via scan to subscriber 2.39ns None . 1.99ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 140.84ns None . 544.65ns
sending of values from observable via skip to subscriber 3.31ns None . 2.77ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2337.35ns None . 3465.91ns
sending of values from observable via switch_on_next to subscriber 654.38ns None . 837.79ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 229.32ns None . 602.58ns
sending of values from observable via take to subscriber 3.82ns None . 2.83ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 45.15ns None . 213.94ns
re-schedule 10 times 63.88ns None . 348.00ns
recursively schedule 10 times 1665.86ns None . 7262.08ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2510.86ns None . 3304.91ns
sending of values from observable via window to subscriber 668.07ns None . 513.48ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 736.29ns None . 1432.14ns
sending of values from observable via with_latest_from to subscriber 22.27ns None . 3.36ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.33ns 0.357867 0.92 0.40ns
Dynamic observable construction 27.03ns 31.214 0.87 24.81ns
Specific observable construction + as_dynamic 35.62ns 29.1661 1.22 25.49ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 131.58ns 146.043 0.90 368.88ns
Specific observable lift dynamic observer 186.73ns 176.309 1.06 434.22ns
Dynamic observable lift specific observer 268.61ns 239.839 1.12 498.00ns
Dynamic observable lift dynamic observer 261.80ns 235.642 1.11 413.69ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 98.25ns 101.898 0.96 390.18ns
Specific observable subscribe dynamic observer 93.39ns 120.058 0.78 406.54ns
Dynamic observable subscribe specific observer 175.57ns 173.537 1.01 406.94ns
Dynamic observable subscribe dynamic observer 175.99ns 205.406 0.86 386.70ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 102.39ns 91.473 1.12 363.80ns
Dynamic observable subscribe lambda 206.28ns 168.664 1.22 419.54ns
Specific observable subscribe lambda without subscription 115.76ns 112.66 1.03 383.58ns
Dynamic observable subscribe lambda without subscription 206.96ns 170.803 1.21 418.54ns
Specific observable subscribe specific subscriber 51.28ns 48.8849 1.05 310.73ns
Dynamic observable subscribe specific subscriber 139.99ns 154.804 0.90 337.56ns
Specific observable subscribe dynamic observer 55.78ns 61.6762 0.90 329.24ns
Dynamic observable subscribe dynamic observer 130.08ns 131.473 0.99 347.40ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.350405 1.14 0.34ns
Dynamic observer construction 30.45ns 29.819 1.02 24.21ns
Specific observer construction + as_dynamic 30.30ns 29.57 1.02 19.58ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.37ns 0.381955 0.97 0.38ns
Dynamic observer OnNext 2.03ns 2.07109 0.98 1.94ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 41.19ns 46.9226 0.88 63.75ns
Make copy of subscriber 20.59ns 20.1579 1.02 5.58ns
Transform subsriber to dynamic 44.53ns 52.6984 0.84 25.90ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 48.56ns 46.5792 1.04 74.00ns
composite_subscription add 48.55ns 69.2773 0.70 18.55ns
composite_subscription unsubscribe 16.71ns 13.5823 1.23 13.30ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 270.81ns 305.995 0.89 2382.95ns
sending of values from observable via buffer to subscriber 6.85ns 8.47979 0.81 30.99ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 352.96ns 441.524 0.80 995.18ns
long stateful chain creation + subscribe 525.17ns 505.189 1.04 1047.82ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 741.65ns 707.883 1.05 1253.26ns
sending of values from observable via combine_latest to subscriber 20.52ns 23.1541 0.89 2.13ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1636.80ns 1771.91 0.92 4608.78ns
concat_with 2125.16ns 2019.7 1.05 4639.03ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 160.16ns 127.184 1.26 418.90ns
sending of values from observable via distinct_until_changed to subscriber 3.15ns 3.55829 0.88 1.25ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 177.86ns 194.54 0.91 822.87ns
sending of values from observable via first to subscriber 0.73ns 0.947224 0.78 0.58ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 108.56ns 99.9769 1.09 846.98ns
error 154.62ns 160.881 0.96 969.55ns
never 56.24ns 58.6824 0.96 313.75ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 155.27ns 118.287 1.31 861.89ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 28.32ns 37.9598 0.75 143.85ns
re-schedule 10 times 53.09ns 55.5988 0.95 206.28ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 110.50ns 215.804 0.51 913.41ns
just send variadic 134.50ns 124.238 1.08 928.16ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 97.07ns 111.268 0.87 381.23ns
sending of values from observable via map to subscriber 1.19ns 0.980805 1.22 1.64ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1676.49ns 1566.87 1.07 5966.41ns
merge_with 2080.95ns 1979.32 1.05 4850.03ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 749.45ns 617.191 1.21 3313.23ns
sending of values from observable via observe_on to subscriber 105.82ns 100.576 1.05 302.14ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 26.53ns 25.635 1.03 14.31ns
on_error 0.73ns 0.77426 0.95 17.68ns
on_completed 0.73ns 1.14084 0.64 0.68ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 247.29ns 242.942 1.02 204.43ns
get_observable 42.30ns 36.4378 1.16 60.13ns
get_subscriber 58.82ns 64.4121 0.91 27.55ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4944.71ns 6695.32 0.74 3711.47ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 171.89ns 199.915 0.86 432.26ns
sending of values from observable via scan to subscriber 3.48ns 3.30607 1.05 1.81ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 157.13ns 135.593 1.16 591.52ns
sending of values from observable via skip to subscriber 4.20ns 4.43001 0.95 2.23ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2114.35ns 2054.63 1.03 5411.20ns
sending of values from observable via switch_on_next to subscriber 726.94ns 579.471 1.25 1218.93ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 217.09ns 242.699 0.89 710.27ns
sending of values from observable via take to subscriber 5.60ns 7.08285 0.79 3.43ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 54.30ns 49.5797 1.10 189.79ns
re-schedule 10 times 83.05ns 69.7719 1.19 237.12ns
recursively schedule 10 times 1606.46ns 1832.31 0.88 7745.26ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2636.48ns 2222.27 1.19 3670.56ns
sending of values from observable via window to subscriber 704.32ns 671.532 1.05 541.84ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 671.90ns 744.393 0.90 1855.88ns
sending of values from observable via with_latest_from to subscriber 19.79ns 17.0356 1.16 3.77ns

ci-ubuntu-gcc-benchmarks

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns None . 0.39ns
Dynamic observable construction 37.80ns None . 27.62ns
Specific observable construction + as_dynamic 37.74ns None . 27.89ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 151.11ns None . 413.77ns
Specific observable lift dynamic observer 181.44ns None . 423.77ns
Dynamic observable lift specific observer 250.79ns None . 473.01ns
Dynamic observable lift dynamic observer 257.32ns None . 447.20ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 102.89ns None . 399.01ns
Specific observable subscribe dynamic observer 120.40ns None . 406.32ns
Dynamic observable subscribe specific observer 179.53ns None . 447.17ns
Dynamic observable subscribe dynamic observer 182.94ns None . 416.61ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 107.41ns None . 399.91ns
Dynamic observable subscribe lambda 185.63ns None . 461.05ns
Specific observable subscribe lambda without subscription 106.18ns None . 387.88ns
Dynamic observable subscribe lambda without subscription 186.61ns None . 449.74ns
Specific observable subscribe specific subscriber 60.04ns None . 325.12ns
Dynamic observable subscribe specific subscriber 139.17ns None . 401.83ns
Specific observable subscribe dynamic observer 59.93ns None . 365.73ns
Dynamic observable subscribe dynamic observer 123.84ns None . 335.90ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns None . 0.38ns
Dynamic observer construction 37.79ns None . 24.89ns
Specific observer construction + as_dynamic 38.00ns None . 26.05ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.39ns None . 0.39ns
Dynamic observer OnNext 2.01ns None . 2.02ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 45.61ns None . 73.32ns
Make copy of subscriber 20.09ns None . 5.39ns
Transform subsriber to dynamic 52.57ns None . 31.06ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 44.20ns None . 69.22ns
composite_subscription add 54.83ns None . 21.14ns
composite_subscription unsubscribe 15.92ns None . 13.46ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 295.88ns None . 2294.62ns
sending of values from observable via buffer to subscriber 7.67ns None . 36.54ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 358.88ns None . 847.62ns
long stateful chain creation + subscribe 524.61ns None . 1261.24ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 773.64ns None . 1304.63ns
sending of values from observable via combine_latest to subscriber 22.12ns None . 2.82ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1649.00ns None . 4196.67ns
concat_with 2080.30ns None . 4663.75ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 164.08ns None . 435.01ns
sending of values from observable via distinct_until_changed to subscriber 4.01ns None . 2.82ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 188.08ns None . 850.00ns
sending of values from observable via first to subscriber 0.79ns None . 1.22ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 105.41ns None . 918.74ns
error 156.31ns None . 1008.46ns
never 59.33ns None . 326.31ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 127.86ns None . 930.05ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 35.71ns None . 158.63ns
re-schedule 10 times 52.34ns None . 201.24ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 105.27ns None . 925.33ns
just send variadic 156.91ns None . 954.07ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 121.79ns None . 398.68ns
sending of values from observable via map to subscriber 1.58ns None . 3.22ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1685.06ns None . 4448.24ns
merge_with 2013.94ns None . 4723.76ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 737.95ns None . 3378.10ns
sending of values from observable via observe_on to subscriber 104.64ns None . 297.41ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 27.03ns None . 14.04ns
on_error 0.81ns None . 20.11ns
on_completed 0.81ns None . 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 238.58ns None . 208.83ns
get_observable 36.57ns None . 59.07ns
get_subscriber 68.77ns None . 27.44ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 5017.58ns None . 3728.11ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 165.87ns None . 464.07ns
sending of values from observable via scan to subscriber 2.98ns None . 2.47ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 160.14ns None . 590.73ns
sending of values from observable via skip to subscriber 4.16ns None . 2.84ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2332.74ns None . 5120.00ns
sending of values from observable via switch_on_next to subscriber 653.53ns None . 1297.43ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 231.44ns None . 714.67ns
sending of values from observable via take to subscriber 4.85ns None . 4.55ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 55.19ns None . 219.51ns
re-schedule 10 times 79.73ns None . 255.87ns
recursively schedule 10 times 1858.79ns None . 7495.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2474.72ns None . 3701.10ns
sending of values from observable via window to subscriber 709.29ns None . 509.09ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 819.60ns None . 1694.14ns
sending of values from observable via with_latest_from to subscriber 21.75ns None . 4.71ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.84ns 1.81942 1.01 0.72ns
Dynamic observable construction 108.63ns 96.0638 1.13 166.56ns
Specific observable construction + as_dynamic 92.62ns 93.5141 0.99 182.83ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 194.80ns 214.681 0.91 1745.53ns
Specific observable lift dynamic observer 267.22ns 247.5 1.08 1817.84ns
Dynamic observable lift specific observer 399.02ns 369.453 1.08 1630.76ns
Dynamic observable lift dynamic observer 308.64ns 309.414 1.00 1418.79ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 177.90ns 176.989 1.01 1582.55ns
Specific observable subscribe dynamic observer 199.48ns 187.983 1.06 1429.60ns
Dynamic observable subscribe specific observer 348.47ns 314.294 1.11 1735.71ns
Dynamic observable subscribe dynamic observer 262.57ns 253.173 1.04 1389.60ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 206.30ns 176.525 1.17 1456.53ns
Dynamic observable subscribe lambda 334.12ns 319.021 1.05 1682.29ns
Specific observable subscribe lambda without subscription 166.51ns 160.972 1.03 1787.95ns
Dynamic observable subscribe lambda without subscription 315.41ns 331.624 0.95 1745.28ns
Specific observable subscribe specific subscriber 51.65ns 57.5038 0.90 916.59ns
Dynamic observable subscribe specific subscriber 214.60ns 198.019 1.08 1109.74ns
Specific observable subscribe dynamic observer 54.81ns 73.1388 0.75 1239.47ns
Dynamic observable subscribe dynamic observer 107.16ns 133.524 0.80 1089.52ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 5.23ns 1.80391 2.90 1.74ns
Dynamic observer construction 102.20ns 177.159 0.58 215.83ns
Specific observer construction + as_dynamic 110.95ns 98.3815 1.13 139.36ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.820956 0.82 0.82ns
Dynamic observer OnNext 2.05ns 2.0143 1.02 2.95ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 96.48ns 114.076 0.85 406.62ns
Make copy of subscriber 15.94ns 20.0653 0.79 37.08ns
Transform subsriber to dynamic 108.14ns 115.562 0.94 171.17ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 108.16ns 111.219 0.97 442.00ns
composite_subscription add 72.24ns 104.976 0.69 78.00ns
composite_subscription unsubscribe 20.11ns 17.3849 1.16 29.22ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 536.91ns 461.762 1.16 5188.33ns
sending of values from observable via buffer to subscriber 8.25ns 7.94561 1.04 104.19ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 363.67ns 330.198 1.10 2078.43ns
long stateful chain creation + subscribe 831.44ns 808.947 1.03 3917.29ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1289.21ns 1304.0 0.99 4043.71ns
sending of values from observable via combine_latest to subscriber 37.30ns 42.9577 0.87 4.76ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 4000.80ns 2416.31 1.66 14601.00ns
concat_with 3462.78ns 3228.9 1.07 15992.50ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 268.07ns 240.786 1.11 1384.48ns
sending of values from observable via distinct_until_changed to subscriber 6.13ns 4.32059 1.42 4.22ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 183.40ns 172.083 1.07 2831.00ns
sending of values from observable via first to subscriber 3.19ns 3.24229 0.99 1.16ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 86.03ns 95.716 0.90 3535.60ns
error 148.61ns 165.439 0.90 3653.80ns
never 56.05ns 52.9195 1.06 1144.35ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 188.84ns 186.294 1.01 3135.20ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 32.55ns 33.341 0.98 409.78ns
re-schedule 10 times 163.39ns 144.757 1.13 548.31ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 109.64ns 100.396 1.09 3155.25ns
just send variadic 161.72ns 148.48 1.09 2995.80ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 127.22ns 122.304 1.04 1379.13ns
sending of values from observable via map to subscriber 4.37ns 4.01307 1.09 7.35ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 3167.82ns 2200.23 1.44 12625.00ns
merge_with 4991.12ns 3063.0 1.63 16132.70ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 999.61ns 987.032 1.01 8163.00ns
sending of values from observable via observe_on to subscriber 152.90ns 101.599 1.50 1112.48ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 26.56ns 23.944 1.11 40.28ns
on_error 3.17ns 4.68216 0.68 24.39ns
on_completed 2.57ns 3.24275 0.79 0.86ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 402.43ns 426.967 0.94 753.48ns
get_observable 34.58ns 32.9494 1.05 172.36ns
get_subscriber 58.04ns 60.3848 0.96 96.08ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 7448.25ns 8095.8 0.92 14626.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 294.08ns 246.379 1.19 1449.84ns
sending of values from observable via scan to subscriber 6.93ns 6.40909 1.08 10.14ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 221.14ns 228.806 0.97 1830.54ns
sending of values from observable via skip to subscriber 5.50ns 4.42247 1.24 4.10ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3742.00ns 4324.0 0.87 13577.50ns
sending of values from observable via switch_on_next to subscriber 923.77ns 964.727 0.96 3997.50ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 303.22ns 293.802 1.03 2855.50ns
sending of values from observable via take to subscriber 7.77ns 6.53722 1.19 7.05ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 42.53ns 51.0016 0.83 739.13ns
re-schedule 10 times 239.55ns 161.523 1.48 807.55ns
recursively schedule 10 times 4116.33ns 4217.0 0.98 24089.50ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 3612.14ns 3702.9 0.98 14618.30ns
sending of values from observable via window to subscriber 1049.22ns 1005.31 1.04 1869.44ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1483.90ns 1293.17 1.15 4327.20ns
sending of values from observable via with_latest_from to subscriber 38.80ns 35.1355 1.10 8.23ns

ci-windows-benchmarks

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 2.04ns None . 0.41ns
Dynamic observable construction 73.22ns None . 116.90ns
Specific observable construction + as_dynamic 76.56ns None . 116.31ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 165.08ns None . 1202.24ns
Specific observable lift dynamic observer 193.89ns None . 1260.00ns
Dynamic observable lift specific observer 284.09ns None . 1378.50ns
Dynamic observable lift dynamic observer 260.14ns None . 1289.70ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 126.14ns None . 1162.91ns
Specific observable subscribe dynamic observer 140.69ns None . 1179.24ns
Dynamic observable subscribe specific observer 234.96ns None . 1334.79ns
Dynamic observable subscribe dynamic observer 192.11ns None . 1227.15ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 128.63ns None . 1169.14ns
Dynamic observable subscribe lambda 234.69ns None . 1339.00ns
Specific observable subscribe lambda without subscription 128.82ns None . 1188.09ns
Dynamic observable subscribe lambda without subscription 235.50ns None . 1328.00ns
Specific observable subscribe specific subscriber 45.41ns None . 856.52ns
Dynamic observable subscribe specific subscriber 150.84ns None . 1026.92ns
Specific observable subscribe dynamic observer 47.60ns None . 892.86ns
Dynamic observable subscribe dynamic observer 98.41ns None . 925.63ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 2.01ns None . 2.01ns
Dynamic observer construction 73.47ns None . 106.72ns
Specific observer construction + as_dynamic 72.73ns None . 108.33ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.45ns None . 0.45ns
Dynamic observer OnNext 1.63ns None . 2.01ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 77.87ns None . 327.17ns
Make copy of subscriber 16.05ns None . 37.34ns
Transform subsriber to dynamic 86.44ns None . 142.66ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 80.52ns None . 320.90ns
composite_subscription add 66.72ns None . 63.43ns
composite_subscription unsubscribe 16.64ns None . 23.44ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 369.92ns None . 4411.17ns
sending of values from observable via buffer to subscriber 7.18ns None . 83.64ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 315.17ns None . 1697.87ns
long stateful chain creation + subscribe 686.72ns None . 3224.12ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1056.64ns None . 3007.38ns
sending of values from observable via combine_latest to subscriber 38.48ns None . 3.83ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2019.67ns None . 10557.30ns
concat_with 2649.90ns None . 11534.50ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 219.98ns None . 1036.64ns
sending of values from observable via distinct_until_changed to subscriber 3.62ns None . 3.62ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 151.99ns None . 2607.30ns
sending of values from observable via first to subscriber 2.34ns None . 1.63ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 81.74ns None . 2369.91ns
error 142.11ns None . 2597.50ns
never 46.44ns None . 880.00ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 140.45ns None . 2444.00ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 26.08ns None . 409.79ns
re-schedule 10 times 155.02ns None . 438.93ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 84.04ns None . 2360.00ns
just send variadic 121.01ns None . 2474.80ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 110.44ns None . 994.96ns
sending of values from observable via map to subscriber 3.55ns None . 7.06ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1928.92ns None . 10992.50ns
merge_with 2603.50ns None . 11691.00ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 803.24ns None . 5453.60ns
sending of values from observable via observe_on to subscriber 89.73ns None . 831.62ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 22.83ns None . 29.33ns
on_error 2.85ns None . 19.10ns
on_completed 2.95ns None . 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 329.73ns None . 593.00ns
get_observable 30.89ns None . 156.25ns
get_subscriber 61.67ns None . 100.52ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 5957.40ns None . 11154.70ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 187.73ns None . 1267.40ns
sending of values from observable via scan to subscriber 5.38ns None . 8.24ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 190.82ns None . 1550.33ns
sending of values from observable via skip to subscriber 3.63ns None . 3.42ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2915.00ns None . 12193.50ns
sending of values from observable via switch_on_next to subscriber 773.44ns None . 3073.11ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 244.78ns None . 2181.08ns
sending of values from observable via take to subscriber 6.46ns None . 5.89ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 43.16ns None . 598.90ns
re-schedule 10 times 173.97ns None . 639.67ns
recursively schedule 10 times 2495.64ns None . 19369.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2973.00ns None . 9479.00ns
sending of values from observable via window to subscriber 830.17ns None . 1578.94ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1046.77ns None . 3791.50ns
sending of values from observable via with_latest_from to subscriber 27.11ns None . 6.42ns

@codecov
Copy link

codecov bot commented Aug 31, 2022

Codecov Report

Merging #247 (bc2c6e4) into main (1d2b955) will not change coverage.
The diff coverage is n/a.

❗ Current head bc2c6e4 differs from pull request most recent head 62a18a2. Consider uploading reports for the commit 62a18a2 to get more accurate results

@@           Coverage Diff           @@
##             main     #247   +/-   ##
=======================================
  Coverage   98.57%   98.57%           
=======================================
  Files         128      128           
  Lines        5130     5130           
=======================================
  Hits         5057     5057           
  Misses         73       73           

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

@github-actions
Copy link
Contributor

ci-ubuntu-clang

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.34ns 0.623505 0.54 0.34ns
Dynamic observable construction 29.23ns 47.1335 0.62 24.20ns
Specific observable construction + as_dynamic 29.13ns 42.695 0.68 24.41ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 130.03ns 156.189 0.83 287.92ns
Specific observable lift dynamic observer 153.06ns 179.946 0.85 303.61ns
Dynamic observable lift specific observer 206.74ns 245.41 0.84 332.79ns
Dynamic observable lift dynamic observer 209.89ns 246.818 0.85 320.78ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 94.95ns 113.798 0.83 286.50ns
Specific observable subscribe dynamic observer 103.21ns 123.404 0.84 295.98ns
Dynamic observable subscribe specific observer 164.21ns 196.033 0.84 325.20ns
Dynamic observable subscribe dynamic observer 155.73ns 185.472 0.84 316.07ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 94.13ns 135.063 0.70 286.01ns
Dynamic observable subscribe lambda 158.51ns 190.126 0.83 326.36ns
Specific observable subscribe lambda without subscription 93.56ns 111.883 0.84 285.10ns
Dynamic observable subscribe lambda without subscription 158.25ns 189.446 0.84 322.06ns
Specific observable subscribe specific subscriber 43.61ns 52.2358 0.83 227.53ns
Dynamic observable subscribe specific subscriber 107.85ns 129.188 0.83 268.00ns
Specific observable subscribe dynamic observer 43.81ns 52.6277 0.83 239.71ns
Dynamic observable subscribe dynamic observer 95.00ns 113.729 0.84 261.46ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.34ns 0.40193 0.84 0.33ns
Dynamic observer construction 29.21ns 35.0463 0.83 20.96ns
Specific observer construction + as_dynamic 29.20ns 35.0368 0.83 20.67ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.804211 0.83 0.67ns
Dynamic observer OnNext 1.68ns 2.01101 0.83 2.34ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 47.03ns 59.1261 0.80 64.48ns
Make copy of subscriber 16.71ns 20.0786 0.83 4.80ns
Transform subsriber to dynamic 45.95ns 55.0229 0.84 26.74ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 41.85ns 50.1381 0.83 52.90ns
composite_subscription add 49.61ns 59.5515 0.83 22.01ns
composite_subscription unsubscribe 12.54ns 15.0999 0.83 10.97ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 269.30ns 322.349 0.84 1896.47ns
sending of values from observable via buffer to subscriber 6.42ns 7.69911 0.83 26.99ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 273.53ns 327.217 0.84 494.09ns
long stateful chain creation + subscribe 397.63ns 478.015 0.83 793.49ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 636.46ns 757.489 0.84 908.01ns
sending of values from observable via combine_latest to subscriber 18.08ns 21.7139 0.83 2.35ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1424.63ns 1706.19 0.83 3253.65ns
concat_with 1700.85ns 2021.59 0.84 3689.84ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 128.04ns 153.407 0.83 249.83ns
sending of values from observable via distinct_until_changed to subscriber 2.68ns 3.21645 0.83 2.01ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 145.48ns 173.555 0.84 579.72ns
sending of values from observable via first to subscriber 0.67ns 0.804956 0.84 0.67ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 85.64ns 102.367 0.84 639.43ns
error 135.56ns 162.059 0.84 741.11ns
never 47.20ns 56.5364 0.83 250.00ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 99.73ns 119.4 0.84 652.64ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 27.47ns 32.9158 0.83 112.83ns
re-schedule 10 times 33.19ns 39.7025 0.84 141.99ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 87.65ns 104.076 0.84 628.17ns
just send variadic 118.06ns 139.59 0.85 776.60ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 89.47ns 115.246 0.78 242.59ns
sending of values from observable via map to subscriber 1.01ns 1.20643 0.83 1.51ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1374.42ns 1647.7 0.83 3256.64ns
merge_with 1632.60ns 1957.59 0.83 3536.39ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 589.41ns 719.02 0.82 2638.39ns
sending of values from observable via observe_on to subscriber 90.46ns 108.471 0.83 202.02ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 24.11ns 28.9292 0.83 9.59ns
on_error 0.51ns 0.606549 0.83 19.18ns
on_completed 0.51ns 0.606739 0.83 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 195.53ns 232.673 0.84 178.83ns
get_observable 29.16ns 34.9492 0.83 48.76ns
get_subscriber 58.11ns 69.8503 0.83 13.92ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4042.04ns 4825.4 0.84 3039.33ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 126.10ns 151.285 0.83 297.79ns
sending of values from observable via scan to subscriber 2.01ns 2.41134 0.84 2.01ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 122.95ns 145.104 0.85 476.94ns
sending of values from observable via skip to subscriber 2.35ns 2.81497 0.83 1.77ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 1891.02ns 2269.47 0.83 2859.93ns
sending of values from observable via switch_on_next to subscriber 532.42ns 631.33 0.84 645.80ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 185.31ns 224.827 0.82 482.10ns
sending of values from observable via take to subscriber 2.34ns 2.81423 0.83 3.36ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 37.54ns 47.4834 0.79 159.97ns
re-schedule 10 times 55.72ns 66.9966 0.83 189.09ns
recursively schedule 10 times 1448.30ns 1754.15 0.83 5544.90ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2054.22ns 2453.41 0.84 3133.65ns
sending of values from observable via window to subscriber 555.76ns 667.312 0.83 364.04ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 648.64ns 788.841 0.82 1143.37ns
sending of values from observable via with_latest_from to subscriber 17.72ns 21.2891 0.83 3.26ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.34ns 0.330336 1.01 0.33ns
Dynamic observable construction 31.43ns 27.0318 1.16 23.08ns
Specific observable construction + as_dynamic 31.51ns 35.6223 0.88 23.31ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 125.99ns 131.577 0.96 335.77ns
Specific observable lift dynamic observer 153.47ns 186.73 0.82 350.96ns
Dynamic observable lift specific observer 203.41ns 268.614 0.76 389.69ns
Dynamic observable lift dynamic observer 214.54ns 261.795 0.82 368.74ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 88.86ns 98.2474 0.90 329.23ns
Specific observable subscribe dynamic observer 101.47ns 93.3856 1.09 332.25ns
Dynamic observable subscribe specific observer 154.30ns 175.573 0.88 371.70ns
Dynamic observable subscribe dynamic observer 152.61ns 175.985 0.87 348.44ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 88.71ns 102.386 0.87 379.21ns
Dynamic observable subscribe lambda 155.66ns 206.284 0.75 380.38ns
Specific observable subscribe lambda without subscription 88.85ns 115.764 0.77 336.60ns
Dynamic observable subscribe lambda without subscription 155.45ns 206.957 0.75 374.76ns
Specific observable subscribe specific subscriber 50.18ns 51.2836 0.98 271.46ns
Dynamic observable subscribe specific subscriber 116.31ns 139.992 0.83 314.94ns
Specific observable subscribe dynamic observer 50.03ns 55.7832 0.90 276.67ns
Dynamic observable subscribe dynamic observer 102.56ns 130.076 0.79 290.69ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.33ns 0.400915 0.83 0.34ns
Dynamic observer construction 31.44ns 30.4471 1.03 20.97ns
Specific observer construction + as_dynamic 31.45ns 30.2984 1.04 21.29ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.34ns 0.371327 0.90 0.34ns
Dynamic observer OnNext 1.68ns 2.02885 0.83 1.74ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 40.26ns 41.1914 0.98 61.77ns
Make copy of subscriber 16.72ns 20.5861 0.81 4.48ns
Transform subsriber to dynamic 44.38ns 44.5264 1.00 25.75ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 36.80ns 48.5596 0.76 55.45ns
composite_subscription add 47.09ns 48.5462 0.97 17.56ns
composite_subscription unsubscribe 13.40ns 16.7096 0.80 19.61ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 254.67ns 270.81 0.94 1884.92ns
sending of values from observable via buffer to subscriber 6.30ns 6.85364 0.92 30.72ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 300.17ns 352.956 0.85 708.25ns
long stateful chain creation + subscribe 435.73ns 525.17 0.83 1059.32ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 650.57ns 741.655 0.88 1205.98ns
sending of values from observable via combine_latest to subscriber 18.38ns 20.5206 0.90 2.35ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1446.08ns 1636.8 0.88 3685.52ns
concat_with 1740.48ns 2125.16 0.82 3953.84ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 136.34ns 160.163 0.85 363.58ns
sending of values from observable via distinct_until_changed to subscriber 3.35ns 3.14682 1.07 2.35ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 161.16ns 177.864 0.91 709.32ns
sending of values from observable via first to subscriber 0.67ns 0.734261 0.91 1.01ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 87.57ns 108.555 0.81 766.71ns
error 132.22ns 154.624 0.86 856.19ns
never 50.06ns 56.2408 0.89 282.06ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 105.60ns 155.267 0.68 804.77ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 29.42ns 28.3249 1.04 132.23ns
re-schedule 10 times 42.34ns 53.0893 0.80 167.21ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 90.52ns 110.499 0.82 779.40ns
just send variadic 127.75ns 134.499 0.95 830.13ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 101.52ns 97.0655 1.05 348.62ns
sending of values from observable via map to subscriber 1.34ns 1.1949 1.12 2.68ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1390.26ns 1676.49 0.83 3787.96ns
merge_with 1681.43ns 2080.95 0.81 4058.09ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 611.88ns 749.451 0.82 2826.66ns
sending of values from observable via observe_on to subscriber 90.96ns 105.822 0.86 246.67ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 22.76ns 26.5271 0.86 11.66ns
on_error 0.67ns 0.733501 0.92 16.79ns
on_completed 0.67ns 0.730274 0.92 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 209.25ns 247.292 0.85 172.82ns
get_observable 29.41ns 42.3012 0.70 49.43ns
get_subscriber 57.21ns 58.8248 0.97 23.14ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4156.81ns 4944.71 0.84 3185.57ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 136.90ns 171.889 0.80 387.88ns
sending of values from observable via scan to subscriber 2.68ns 3.47614 0.77 2.34ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 136.42ns 157.134 0.87 530.75ns
sending of values from observable via skip to subscriber 3.45ns 4.19645 0.82 2.35ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 1965.05ns 2114.35 0.93 4328.39ns
sending of values from observable via switch_on_next to subscriber 544.25ns 726.94 0.75 1074.06ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 193.09ns 217.093 0.89 699.81ns
sending of values from observable via take to subscriber 4.02ns 5.60233 0.72 3.76ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 45.94ns 54.3032 0.85 182.60ns
re-schedule 10 times 68.41ns 83.0526 0.82 220.39ns
recursively schedule 10 times 1477.84ns 1606.46 0.92 6666.35ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2161.55ns 2636.48 0.82 3239.58ns
sending of values from observable via window to subscriber 595.37ns 704.316 0.85 429.07ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 673.53ns 671.902 1.00 1398.50ns
sending of values from observable via with_latest_from to subscriber 18.06ns 19.7887 0.91 4.06ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.80ns 1.84379 0.98 0.80ns
Dynamic observable construction 96.37ns 108.626 0.89 140.39ns
Specific observable construction + as_dynamic 96.23ns 92.6189 1.04 141.91ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 218.20ns 194.796 1.12 1402.23ns
Specific observable lift dynamic observer 249.31ns 267.221 0.93 1483.43ns
Dynamic observable lift specific observer 333.87ns 399.024 0.84 1689.74ns
Dynamic observable lift dynamic observer 311.29ns 308.644 1.01 1561.15ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 166.19ns 177.901 0.93 2166.73ns
Specific observable subscribe dynamic observer 163.89ns 199.484 0.82 1457.59ns
Dynamic observable subscribe specific observer 304.07ns 348.471 0.87 1633.17ns
Dynamic observable subscribe dynamic observer 253.15ns 262.571 0.96 1558.35ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 170.02ns 206.301 0.82 1287.59ns
Dynamic observable subscribe lambda 316.05ns 334.117 0.95 1633.25ns
Specific observable subscribe lambda without subscription 167.22ns 166.51 1.00 1471.41ns
Dynamic observable subscribe lambda without subscription 316.05ns 315.413 1.00 1636.44ns
Specific observable subscribe specific subscriber 59.70ns 51.6494 1.16 1017.50ns
Dynamic observable subscribe specific subscriber 185.56ns 214.6 0.86 1238.84ns
Specific observable subscribe dynamic observer 61.16ns 54.812 1.12 1088.77ns
Dynamic observable subscribe dynamic observer 118.36ns 107.162 1.10 1111.82ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.79ns 5.23119 0.34 1.92ns
Dynamic observer construction 98.07ns 102.203 0.96 136.23ns
Specific observer construction + as_dynamic 98.15ns 110.955 0.88 146.54ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.80ns 0.671355 1.20 0.80ns
Dynamic observer OnNext 2.05ns 2.047 1.00 3.03ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 108.03ns 96.4836 1.12 423.33ns
Make copy of subscriber 20.08ns 15.9409 1.26 36.99ns
Transform subsriber to dynamic 113.31ns 108.141 1.05 179.56ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 106.05ns 108.16 0.98 415.85ns
composite_subscription add 77.86ns 72.2441 1.08 77.95ns
composite_subscription unsubscribe 17.52ns 20.1131 0.87 30.11ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 441.19ns 536.906 0.82 5121.17ns
sending of values from observable via buffer to subscriber 7.87ns 8.24903 0.95 107.08ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 339.09ns 363.671 0.93 1971.80ns
long stateful chain creation + subscribe 807.03ns 831.438 0.97 3715.00ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1409.36ns 1289.21 1.09 3443.75ns
sending of values from observable via combine_latest to subscriber 41.77ns 37.3035 1.12 4.74ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2401.00ns 4000.8 0.60 12450.70ns
concat_with 3162.70ns 3462.78 0.91 13585.30ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 236.30ns 268.075 0.88 1293.24ns
sending of values from observable via distinct_until_changed to subscriber 6.84ns 6.13175 1.12 4.47ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 171.22ns 183.402 0.93 3016.60ns
sending of values from observable via first to subscriber 3.03ns 3.19461 0.95 2.04ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 92.01ns 86.0333 1.07 2753.27ns
error 162.18ns 148.607 1.09 2898.10ns
never 53.25ns 56.047 0.95 1085.08ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 186.31ns 188.841 0.99 3054.27ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 33.81ns 32.551 1.04 501.48ns
re-schedule 10 times 146.10ns 163.387 0.89 566.91ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 95.14ns 109.643 0.87 3220.00ns
just send variadic 147.79ns 161.722 0.91 2937.20ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 120.20ns 127.22 0.94 1196.62ns
sending of values from observable via map to subscriber 3.91ns 4.36753 0.90 8.95ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2361.62ns 3167.82 0.75 12578.30ns
merge_with 3087.40ns 4991.12 0.62 13679.30ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 961.97ns 999.607 0.96 6695.20ns
sending of values from observable via observe_on to subscriber 101.80ns 152.897 0.67 947.00ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 23.44ns 26.5622 0.88 39.35ns
on_error 3.95ns 3.17361 1.24 22.98ns
on_completed 3.17ns 2.57239 1.23 0.82ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 432.85ns 402.429 1.08 687.18ns
get_observable 32.90ns 34.5779 0.95 197.71ns
get_subscriber 72.71ns 58.038 1.25 112.66ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 8049.40ns 7448.25 1.08 13219.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 245.66ns 294.083 0.84 1488.45ns
sending of values from observable via scan to subscriber 6.18ns 6.92812 0.89 10.67ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 230.29ns 221.144 1.04 1794.50ns
sending of values from observable via skip to subscriber 4.21ns 5.49778 0.77 5.29ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 5915.00ns 3742.0 1.58 14308.00ns
sending of values from observable via switch_on_next to subscriber 977.24ns 923.767 1.06 3681.33ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 524.39ns 303.221 1.73 2382.42ns
sending of values from observable via take to subscriber 6.79ns 7.76934 0.87 6.55ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 59.64ns 42.5336 1.40 689.26ns
re-schedule 10 times 162.38ns 239.554 0.68 861.52ns
recursively schedule 10 times 3246.10ns 4116.33 0.79 22935.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 3562.78ns 3612.14 0.99 10661.30ns
sending of values from observable via window to subscriber 1060.30ns 1049.22 1.01 1959.53ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1289.61ns 1483.9 0.87 4354.33ns
sending of values from observable via with_latest_from to subscriber 33.36ns 38.7969 0.86 7.88ns

@github-actions
Copy link
Contributor

ci-ubuntu-clang

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.29ns 0.623505 0.47 0.29ns
Dynamic observable construction 20.51ns 47.1335 0.44 18.23ns
Specific observable construction + as_dynamic 20.37ns 42.695 0.48 18.87ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 91.78ns 156.189 0.59 210.15ns
Specific observable lift dynamic observer 109.58ns 179.946 0.61 219.27ns
Dynamic observable lift specific observer 147.22ns 245.41 0.60 243.89ns
Dynamic observable lift dynamic observer 156.52ns 246.818 0.63 235.04ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 64.32ns 113.798 0.57 205.12ns
Specific observable subscribe dynamic observer 73.86ns 123.404 0.60 211.51ns
Dynamic observable subscribe specific observer 112.92ns 196.033 0.58 244.88ns
Dynamic observable subscribe dynamic observer 113.37ns 185.472 0.61 228.87ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 64.93ns 135.063 0.48 205.93ns
Dynamic observable subscribe lambda 111.69ns 190.126 0.59 235.03ns
Specific observable subscribe lambda without subscription 65.26ns 111.883 0.58 206.32ns
Dynamic observable subscribe lambda without subscription 110.42ns 189.446 0.58 234.18ns
Specific observable subscribe specific subscriber 29.54ns 52.2358 0.57 160.35ns
Dynamic observable subscribe specific subscriber 76.25ns 129.188 0.59 192.63ns
Specific observable subscribe dynamic observer 30.98ns 52.6277 0.59 169.78ns
Dynamic observable subscribe dynamic observer 69.37ns 113.729 0.61 203.37ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.29ns 0.40193 0.71 0.31ns
Dynamic observer construction 20.72ns 35.0463 0.59 14.07ns
Specific observer construction + as_dynamic 20.56ns 35.0368 0.59 14.08ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.32ns 0.804211 0.40 0.32ns
Dynamic observer OnNext 1.15ns 2.01101 0.57 1.43ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 34.47ns 59.1261 0.58 47.95ns
Make copy of subscriber 11.48ns 20.0786 0.57 3.52ns
Transform subsriber to dynamic 33.94ns 55.0229 0.62 17.97ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 28.05ns 50.1381 0.56 37.50ns
composite_subscription add 37.13ns 59.5515 0.62 15.06ns
composite_subscription unsubscribe 10.76ns 15.0999 0.71 9.81ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 187.17ns 322.349 0.58 1514.65ns
sending of values from observable via buffer to subscriber 4.55ns 7.69911 0.59 16.75ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 214.26ns 327.217 0.65 364.56ns
long stateful chain creation + subscribe 302.29ns 478.015 0.63 617.30ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 465.43ns 757.489 0.61 678.78ns
sending of values from observable via combine_latest to subscriber 16.04ns 21.7139 0.74 1.23ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1062.55ns 1706.19 0.62 2739.84ns
concat_with 1258.90ns 2021.59 0.62 3088.02ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 92.41ns 153.407 0.60 175.60ns
sending of values from observable via distinct_until_changed to subscriber 1.72ns 3.21645 0.54 1.15ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 109.98ns 173.555 0.63 469.21ns
sending of values from observable via first to subscriber 0.52ns 0.804956 0.64 0.58ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 61.40ns 102.367 0.60 472.34ns
error 95.48ns 162.059 0.59 549.45ns
never 32.05ns 56.5364 0.57 176.71ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 68.94ns 119.4 0.58 492.18ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 17.96ns 32.9158 0.55 80.44ns
re-schedule 10 times 22.88ns 39.7025 0.58 101.10ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 61.28ns 104.076 0.59 476.14ns
just send variadic 77.38ns 139.59 0.55 544.49ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 68.21ns 115.246 0.59 172.21ns
sending of values from observable via map to subscriber 0.86ns 1.20643 0.71 1.16ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1038.26ns 1647.7 0.63 2637.97ns
merge_with 1236.94ns 1957.59 0.63 2961.98ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 425.44ns 719.02 0.59 1753.80ns
sending of values from observable via observe_on to subscriber 62.97ns 108.471 0.58 150.42ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 21.04ns 28.9292 0.73 5.88ns
on_error 0.43ns 0.606549 0.71 13.57ns
on_completed 0.44ns 0.606739 0.72 0.43ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 140.26ns 232.673 0.60 116.60ns
get_observable 24.11ns 34.9492 0.69 32.72ns
get_subscriber 47.56ns 69.8503 0.68 9.12ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3063.45ns 4825.4 0.63 2310.65ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 91.95ns 151.285 0.61 212.90ns
sending of values from observable via scan to subscriber 1.43ns 2.41134 0.59 1.15ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 91.51ns 145.104 0.63 352.75ns
sending of values from observable via skip to subscriber 1.73ns 2.81497 0.61 1.81ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 1636.97ns 2269.47 0.72 2304.07ns
sending of values from observable via switch_on_next to subscriber 396.60ns 631.33 0.63 518.38ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 199.41ns 224.827 0.89 363.70ns
sending of values from observable via take to subscriber 1.81ns 2.81423 0.64 1.66ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 23.55ns 47.4834 0.50 111.84ns
re-schedule 10 times 37.38ns 66.9966 0.56 129.74ns
recursively schedule 10 times 1073.50ns 1754.15 0.61 3904.74ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 1590.94ns 2453.41 0.65 2415.09ns
sending of values from observable via window to subscriber 430.97ns 667.312 0.65 265.91ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 469.89ns 788.841 0.60 797.20ns
sending of values from observable via with_latest_from to subscriber 16.04ns 21.2891 0.75 1.75ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.330336 1.22 0.40ns
Dynamic observable construction 29.05ns 27.0318 1.07 21.78ns
Specific observable construction + as_dynamic 28.77ns 35.6223 0.81 21.94ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 121.10ns 131.577 0.92 350.12ns
Specific observable lift dynamic observer 151.22ns 186.73 0.81 387.07ns
Dynamic observable lift specific observer 206.87ns 268.614 0.77 421.70ns
Dynamic observable lift dynamic observer 221.47ns 261.795 0.85 391.44ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 83.96ns 98.2474 0.85 349.25ns
Specific observable subscribe dynamic observer 100.46ns 93.3856 1.08 361.29ns
Dynamic observable subscribe specific observer 152.26ns 175.573 0.87 398.57ns
Dynamic observable subscribe dynamic observer 156.14ns 175.985 0.89 373.48ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 82.89ns 102.386 0.81 361.52ns
Dynamic observable subscribe lambda 154.03ns 206.284 0.75 392.00ns
Specific observable subscribe lambda without subscription 82.68ns 115.764 0.71 357.93ns
Dynamic observable subscribe lambda without subscription 153.81ns 206.957 0.74 392.87ns
Specific observable subscribe specific subscriber 49.44ns 51.2836 0.96 294.63ns
Dynamic observable subscribe specific subscriber 117.79ns 139.992 0.84 342.16ns
Specific observable subscribe dynamic observer 49.89ns 55.7832 0.89 296.44ns
Dynamic observable subscribe dynamic observer 105.22ns 130.076 0.81 316.37ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.400915 1.00 0.40ns
Dynamic observer construction 28.69ns 30.4471 0.94 18.89ns
Specific observer construction + as_dynamic 28.60ns 30.2984 0.94 19.08ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.44ns 0.371327 1.19 0.43ns
Dynamic observer OnNext 1.61ns 2.02885 0.79 1.61ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 35.98ns 41.1914 0.87 55.10ns
Make copy of subscriber 16.08ns 20.5861 0.78 5.84ns
Transform subsriber to dynamic 44.51ns 44.5264 1.00 23.50ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 34.89ns 48.5596 0.72 52.00ns
composite_subscription add 48.94ns 48.5462 1.01 14.63ns
composite_subscription unsubscribe 15.49ns 16.7096 0.93 11.38ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 285.43ns 270.81 1.05 2080.68ns
sending of values from observable via buffer to subscriber 6.17ns 6.85364 0.90 26.57ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 326.43ns 352.956 0.92 751.26ns
long stateful chain creation + subscribe 457.12ns 525.17 0.87 1149.30ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 681.02ns 741.655 0.92 1206.06ns
sending of values from observable via combine_latest to subscriber 22.54ns 20.5206 1.10 1.61ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1497.30ns 1636.8 0.91 4102.77ns
concat_with 1800.71ns 2125.16 0.85 4615.74ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 156.13ns 160.163 0.97 379.22ns
sending of values from observable via distinct_until_changed to subscriber 3.62ns 3.14682 1.15 1.68ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 168.21ns 177.864 0.95 776.34ns
sending of values from observable via first to subscriber 0.80ns 0.734261 1.09 0.80ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 87.95ns 108.555 0.81 794.36ns
error 135.49ns 154.624 0.88 909.73ns
never 47.35ns 56.2408 0.84 306.01ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 101.77ns 155.267 0.66 870.18ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 28.92ns 28.3249 1.02 158.53ns
re-schedule 10 times 45.29ns 53.0893 0.85 202.47ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 90.82ns 110.499 0.82 828.26ns
just send variadic 115.23ns 134.499 0.86 893.95ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 107.43ns 97.0655 1.11 374.32ns
sending of values from observable via map to subscriber 1.00ns 1.1949 0.84 1.61ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1478.15ns 1676.49 0.88 4315.46ns
merge_with 1800.12ns 2080.95 0.87 4686.74ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 638.40ns 749.451 0.85 2922.33ns
sending of values from observable via observe_on to subscriber 98.00ns 105.822 0.93 312.39ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.73ns 26.5271 1.12 9.36ns
on_error 0.81ns 0.733501 1.10 16.18ns
on_completed 0.81ns 0.730274 1.11 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 215.56ns 247.292 0.87 144.60ns
get_observable 30.53ns 42.3012 0.72 44.89ns
get_subscriber 64.00ns 58.8248 1.09 21.71ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4392.43ns 4944.71 0.89 3347.25ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 135.59ns 171.889 0.79 426.83ns
sending of values from observable via scan to subscriber 2.81ns 3.47614 0.81 1.61ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 134.43ns 157.134 0.86 579.98ns
sending of values from observable via skip to subscriber 2.81ns 4.19645 0.67 2.67ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2064.33ns 2114.35 0.98 4557.29ns
sending of values from observable via switch_on_next to subscriber 568.02ns 726.94 0.78 1210.83ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 193.29ns 217.093 0.89 651.40ns
sending of values from observable via take to subscriber 3.64ns 5.60233 0.65 2.93ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 42.98ns 54.3032 0.79 219.87ns
re-schedule 10 times 66.52ns 83.0526 0.80 248.22ns
recursively schedule 10 times 1549.79ns 1606.46 0.96 6873.46ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2253.00ns 2636.48 0.85 3598.58ns
sending of values from observable via window to subscriber 611.06ns 704.316 0.87 414.31ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 722.98ns 671.902 1.08 1522.54ns
sending of values from observable via with_latest_from to subscriber 22.49ns 19.7887 1.14 3.36ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.81ns 1.84379 0.98 0.80ns
Dynamic observable construction 98.14ns 108.626 0.90 148.73ns
Specific observable construction + as_dynamic 97.48ns 92.6189 1.05 147.87ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 233.25ns 194.796 1.20 1464.14ns
Specific observable lift dynamic observer 247.66ns 267.221 0.93 1563.52ns
Dynamic observable lift specific observer 370.17ns 399.024 0.93 1679.05ns
Dynamic observable lift dynamic observer 320.19ns 308.644 1.04 1573.65ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 170.11ns 177.901 0.96 1432.82ns
Specific observable subscribe dynamic observer 186.39ns 199.484 0.93 1851.33ns
Dynamic observable subscribe specific observer 315.81ns 348.471 0.91 1626.42ns
Dynamic observable subscribe dynamic observer 272.73ns 262.571 1.04 1496.43ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 174.61ns 206.301 0.85 1406.45ns
Dynamic observable subscribe lambda 377.41ns 334.117 1.13 1634.53ns
Specific observable subscribe lambda without subscription 173.52ns 166.51 1.04 1399.86ns
Dynamic observable subscribe lambda without subscription 316.89ns 315.413 1.00 1805.42ns
Specific observable subscribe specific subscriber 57.18ns 51.6494 1.11 1016.35ns
Dynamic observable subscribe specific subscriber 203.18ns 214.6 0.95 1225.08ns
Specific observable subscribe dynamic observer 71.83ns 54.812 1.31 1065.10ns
Dynamic observable subscribe dynamic observer 119.80ns 107.162 1.12 1107.61ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.82ns 5.23119 0.35 1.80ns
Dynamic observer construction 99.98ns 102.203 0.98 136.36ns
Specific observer construction + as_dynamic 101.01ns 110.955 0.91 136.12ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.80ns 0.671355 1.20 0.81ns
Dynamic observer OnNext 2.01ns 2.047 0.98 2.81ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 110.07ns 96.4836 1.14 421.57ns
Make copy of subscriber 20.09ns 15.9409 1.26 37.72ns
Transform subsriber to dynamic 117.12ns 108.141 1.08 180.35ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 108.64ns 108.16 1.00 416.01ns
composite_subscription add 77.62ns 72.2441 1.07 76.24ns
composite_subscription unsubscribe 19.73ns 20.1131 0.98 27.95ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 460.27ns 536.906 0.86 5350.67ns
sending of values from observable via buffer to subscriber 7.99ns 8.24903 0.97 110.47ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 341.02ns 363.671 0.94 2094.50ns
long stateful chain creation + subscribe 808.25ns 831.438 0.97 3773.00ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1426.61ns 1289.21 1.11 3560.75ns
sending of values from observable via combine_latest to subscriber 43.14ns 37.3035 1.16 4.89ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2491.69ns 4000.8 0.62 12924.00ns
concat_with 3240.00ns 3462.78 0.94 13867.30ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 241.17ns 268.075 0.90 1233.84ns
sending of values from observable via distinct_until_changed to subscriber 4.41ns 6.13175 0.72 4.44ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 174.66ns 183.402 0.95 3092.10ns
sending of values from observable via first to subscriber 3.22ns 3.19461 1.01 2.03ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 96.14ns 86.0333 1.12 2868.36ns
error 163.12ns 148.607 1.10 2968.20ns
never 54.68ns 56.047 0.98 1057.46ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 185.56ns 188.841 0.98 3080.30ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 33.32ns 32.551 1.02 492.03ns
re-schedule 10 times 146.93ns 163.387 0.90 528.61ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 112.60ns 109.643 1.03 2901.18ns
just send variadic 177.02ns 161.722 1.09 2974.20ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 122.96ns 127.22 0.97 1191.96ns
sending of values from observable via map to subscriber 4.02ns 4.36753 0.92 8.89ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2355.54ns 3167.82 0.74 12941.70ns
merge_with 3094.40ns 4991.12 0.62 13816.30ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 984.58ns 999.607 0.98 6671.00ns
sending of values from observable via observe_on to subscriber 103.99ns 152.897 0.68 946.09ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 23.09ns 26.5622 0.87 39.19ns
on_error 4.14ns 3.17361 1.31 26.51ns
on_completed 3.24ns 2.57239 1.26 0.82ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 425.53ns 402.429 1.06 705.29ns
get_observable 33.71ns 34.5779 0.97 195.98ns
get_subscriber 60.28ns 58.038 1.04 112.96ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 7373.60ns 7448.25 0.99 13330.70ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 245.39ns 294.083 0.83 1500.14ns
sending of values from observable via scan to subscriber 6.39ns 6.92812 0.92 10.73ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 229.30ns 221.144 1.04 1832.33ns
sending of values from observable via skip to subscriber 4.43ns 5.49778 0.81 5.40ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 4229.00ns 3742.0 1.13 14282.30ns
sending of values from observable via switch_on_next to subscriber 951.70ns 923.767 1.03 3684.67ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 292.59ns 303.221 0.96 2558.67ns
sending of values from observable via take to subscriber 6.54ns 7.76934 0.84 6.72ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 50.65ns 42.5336 1.19 740.22ns
re-schedule 10 times 167.31ns 239.554 0.70 776.35ns
recursively schedule 10 times 3249.60ns 4116.33 0.79 22950.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 3549.56ns 3612.14 0.98 11600.50ns
sending of values from observable via window to subscriber 1002.22ns 1049.22 0.96 1951.62ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1285.65ns 1483.9 0.87 4445.00ns
sending of values from observable via with_latest_from to subscriber 34.73ns 38.7969 0.90 8.13ns

@victimsnino victimsnino merged commit 50a63c7 into main Aug 31, 2022
@victimsnino victimsnino deleted the update_ci branch August 31, 2022 20:51
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