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

Add sample with package #284

Merged
merged 7 commits into from
Oct 27, 2022
Merged

Add sample with package #284

merged 7 commits into from
Oct 27, 2022

Conversation

victimsnino
Copy link
Owner

No description provided.

@codecov
Copy link

codecov bot commented Oct 26, 2022

Codecov Report

Merging #284 (736bc4e) into main (5a38c94) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #284   +/-   ##
=======================================
  Coverage   98.70%   98.70%           
=======================================
  Files         105      105           
  Lines        1466     1466           
=======================================
  Hits         1447     1447           
  Misses         19       19           

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

@github-actions
Copy link
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-clang

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.38ns 0.323653 1.17 0.74ns
Dynamic observable construction 36.04ns 28.1675 1.28 31.48ns
Specific observable construction + as_dynamic 33.43ns 28.158 1.19 30.98ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 128.65ns 109.025 1.18 343.18ns
Specific observable lift dynamic observer 157.45ns 142.106 1.11 356.17ns
Dynamic observable lift specific observer 231.54ns 182.635 1.27 403.66ns
Dynamic observable lift dynamic observer 240.64ns 191.489 1.26 395.68ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 98.85ns 81.4563 1.21 349.90ns
Specific observable subscribe dynamic observer 115.80ns 91.6813 1.26 358.31ns
Dynamic observable subscribe specific observer 178.56ns 146.36 1.22 412.49ns
Dynamic observable subscribe dynamic observer 169.74ns 140.855 1.21 371.85ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 92.09ns 78.9085 1.17 338.37ns
Dynamic observable subscribe lambda 164.24ns 136.037 1.21 414.51ns
Specific observable subscribe lambda without subscription 96.38ns 76.1994 1.26 336.58ns
Dynamic observable subscribe lambda without subscription 161.04ns 135.394 1.19 382.57ns
Specific observable subscribe specific subscriber 50.52ns 42.8838 1.18 265.01ns
Dynamic observable subscribe specific subscriber 124.39ns 103.019 1.21 336.29ns
Specific observable subscribe dynamic observer 51.90ns 43.9213 1.18 305.18ns
Dynamic observable subscribe dynamic observer 109.74ns 94.8376 1.16 304.32ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.42ns 0.324306 1.29 0.38ns
Dynamic observer construction 33.27ns 29.4767 1.13 23.48ns
Specific observer construction + as_dynamic 32.91ns 28.1615 1.17 22.53ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.77ns 0.648942 1.18 0.78ns
Dynamic observer OnNext 2.34ns 1.94739 1.20 2.48ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 37.79ns 34.6072 1.09 84.31ns
Make copy of subscriber 19.39ns 16.8974 1.15 5.65ns
Transform subsriber to dynamic 50.87ns 43.7436 1.16 27.82ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 43.50ns 32.9653 1.32 72.24ns
composite_subscription add 61.67ns 56.3873 1.09 98.86ns
composite_subscription unsubscribe 55.92ns 42.5849 1.31 25.60ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 310.78ns 282.096 1.10 2243.28ns
sending of values from observable via buffer to subscriber 9.09ns 6.65447 1.37 30.36ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 323.33ns 269.838 1.20 677.49ns
long stateful chain creation + subscribe 470.44ns 408.09 1.15 974.04ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1240.15ns 896.954 1.38 1058.58ns
sending of values from observable via combine_latest to subscriber 33.18ns 32.622 1.02 2.26ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2218.95ns 1869.8 1.19 3892.02ns
concat_with 2732.10ns 2201.16 1.24 4640.88ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 156.08ns 136.554 1.14 304.86ns
sending of values from observable via distinct_until_changed to subscriber 3.56ns 2.96792 1.20 1.49ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 167.67ns 144.202 1.16 745.87ns
sending of values from observable via first to subscriber 0.57ns 0.486068 1.18 0.57ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 97.28ns 86.5358 1.12 732.98ns
error 158.31ns 128.995 1.23 835.79ns
never 61.91ns 47.8884 1.29 314.05ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 125.55ns 107.938 1.16 795.13ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 0.61ns 0.489373 1.25 153.14ns
re-schedule 10 times 10.99ns 9.08286 1.21 175.97ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 101.53ns 85.9096 1.18 758.60ns
just send variadic 133.44ns 121.599 1.10 915.55ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 218.07ns 186.156 1.17 533.67ns
sending of values from observable via last to subscriber 3.41ns 2.94954 1.16 2.09ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 100.63ns 87.0728 1.16 286.66ns
sending of values from observable via map to subscriber 1.00ns 0.864054 1.16 2.03ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2231.21ns 1928.2 1.16 4093.13ns
merge_with 2523.40ns 2200.0 1.15 4438.31ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 517.34ns 430.263 1.20 3095.92ns
sending of values from observable via observe_on to subscriber 68.22ns 53.8759 1.27 238.36ns

on_error_resume_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_error_resume_next construction from observable via dot + subscribe 540.12ns 434.712 1.24 651.27ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 28.36ns 26.0875 1.09 12.94ns
on_error 0.58ns 0.573474 1.01 19.50ns
on_completed 0.62ns 0.501994 1.24 0.61ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 219.13ns 186.479 1.18 213.59ns
get_observable 31.87ns 29.8235 1.07 61.99ns
get_subscriber 64.28ns 54.1911 1.19 15.41ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4599.88ns 3892.99 1.18 3786.80ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 138.74ns 129.953 1.07 351.96ns
sending of values from observable via scan to subscriber 2.43ns 2.19509 1.11 2.09ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.40ns 2.00697 1.19 .
mutex lock increment 21.53ns 19.3356 1.11 .
spin-lock increment 12.36ns 10.7226 1.15 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 147.41ns 123.086 1.20 557.38ns
sending of values from observable via skip to subscriber 2.40ns 2.10888 1.14 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 3690.27ns 2228.91 1.66 3407.14ns
sending of values from observable via switch_on_next to subscriber 792.70ns 596.127 1.33 888.65ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 221.99ns 214.451 1.04 589.26ns
sending of values from observable via take to subscriber 3.21ns 2.77147 1.16 2.85ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 281.55ns 227.71 1.24 619.24ns
sending of values from observable via take_last to subscriber 3.84ns 3.34021 1.15 4.97ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1314.16ns 1041.8 1.26 1577.36ns
sending of values from observable via take_until to subscriber 12.76ns 12.0099 1.06 2.34ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 12.08ns 11.7331 1.03 188.34ns
re-schedule 10 times 33.28ns 27.7634 1.20 225.50ns
recursively schedule 10 times 1787.33ns 1450.16 1.23 6482.83ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2382.51ns 2067.64 1.15 3900.80ns
sending of values from observable via window to subscriber 616.86ns 544.183 1.13 462.95ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1227.66ns 1040.47 1.18 1504.42ns
sending of values from observable via with_latest_from to subscriber 29.51ns 29.3808 1.00 3.38ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.2956 1.36 0.40ns
Dynamic observable construction 30.03ns 27.8276 1.08 21.62ns
Specific observable construction + as_dynamic 28.70ns 27.8801 1.03 22.67ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 118.02ns 105.129 1.12 346.87ns
Specific observable lift dynamic observer 147.26ns 128.988 1.14 344.84ns
Dynamic observable lift specific observer 203.41ns 176.096 1.16 381.88ns
Dynamic observable lift dynamic observer 218.55ns 182.839 1.20 360.94ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 80.39ns 73.5167 1.09 329.80ns
Specific observable subscribe dynamic observer 97.70ns 83.8782 1.16 338.39ns
Dynamic observable subscribe specific observer 150.32ns 132.61 1.13 368.04ns
Dynamic observable subscribe dynamic observer 150.35ns 128.505 1.17 354.09ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 79.53ns 73.694 1.08 319.49ns
Dynamic observable subscribe lambda 149.19ns 133.688 1.12 371.17ns
Specific observable subscribe lambda without subscription 79.37ns 73.46 1.08 320.53ns
Dynamic observable subscribe lambda without subscription 149.26ns 133.458 1.12 397.84ns
Specific observable subscribe specific subscriber 49.41ns 50.5059 0.98 272.75ns
Dynamic observable subscribe specific subscriber 118.15ns 103.843 1.14 320.31ns
Specific observable subscribe dynamic observer 49.28ns 44.2775 1.11 279.08ns
Dynamic observable subscribe dynamic observer 103.97ns 102.47 1.01 294.67ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.33463 1.20 0.40ns
Dynamic observer construction 28.96ns 31.5517 0.92 18.62ns
Specific observer construction + as_dynamic 28.74ns 31.5707 0.91 19.08ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.43ns 0.334768 1.28 0.42ns
Dynamic observer OnNext 2.01ns 1.77539 1.13 1.61ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 33.81ns 32.5288 1.04 54.59ns
Make copy of subscriber 16.08ns 15.0363 1.07 5.92ns
Transform subsriber to dynamic 44.93ns 39.7279 1.13 22.54ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 33.82ns 32.8604 1.03 51.40ns
composite_subscription add 51.70ns 42.0028 1.23 96.66ns
composite_subscription unsubscribe 44.11ns 37.8022 1.17 20.94ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 256.91ns 229.656 1.12 2032.27ns
sending of values from observable via buffer to subscriber 6.14ns 5.52354 1.11 26.71ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 323.51ns 265.525 1.22 681.70ns
long stateful chain creation + subscribe 456.64ns 382.152 1.19 1075.25ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 982.79ns 824.153 1.19 1162.00ns
sending of values from observable via combine_latest to subscriber 34.10ns 24.2129 1.41 1.47ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2039.47ns 1711.72 1.19 3849.14ns
concat_with 2406.08ns 2012.39 1.20 4488.45ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 140.23ns 120.762 1.16 357.96ns
sending of values from observable via distinct_until_changed to subscriber 4.01ns 3.24798 1.23 1.24ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 167.32ns 143.532 1.17 733.83ns
sending of values from observable via first to subscriber 0.80ns 0.591666 1.36 0.81ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 86.16ns 76.5968 1.12 789.63ns
error 135.92ns 116.122 1.17 872.83ns
never 47.56ns 44.8624 1.06 283.43ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 102.76ns 94.3569 1.09 814.89ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.20ns 1.47921 0.81 125.25ns
re-schedule 10 times 20.04ns 20.0903 1.00 155.13ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 90.78ns 79.0498 1.15 841.09ns
just send variadic 114.27ns 115.463 0.99 859.58ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 201.84ns 175.036 1.15 440.11ns
sending of values from observable via last to subscriber 2.07ns 2.36202 0.88 1.22ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 109.40ns 88.7937 1.23 356.75ns
sending of values from observable via map to subscriber 1.01ns 0.739267 1.36 1.60ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1989.94ns 1669.32 1.19 4039.39ns
merge_with 2370.78ns 1961.96 1.21 4494.44ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 507.62ns 416.95 1.22 2741.46ns
sending of values from observable via observe_on to subscriber 67.25ns 51.693 1.30 236.84ns

on_error_resume_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_error_resume_next construction from observable via dot + subscribe 476.72ns 406.265 1.17 675.86ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.76ns 20.048 1.48 9.92ns
on_error 1.21ns 0.892723 1.36 16.17ns
on_completed 0.81ns 0.621836 1.30 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 209.83ns 187.929 1.12 145.26ns
get_observable 30.61ns 25.9975 1.18 45.37ns
get_subscriber 64.07ns 50.6055 1.27 20.97ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4391.30ns 3625.32 1.21 3267.81ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 136.28ns 121.095 1.13 388.87ns
sending of values from observable via scan to subscriber 3.22ns 2.66065 1.21 1.61ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.33ns 1.76804 1.32 .
mutex lock increment 22.53ns 15.953 1.41 .
spin-lock increment 10.44ns 7.98822 1.31 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 134.71ns 118.826 1.13 549.07ns
sending of values from observable via skip to subscriber 3.22ns 2.66051 1.21 2.78ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2478.43ns 2055.81 1.21 4529.35ns
sending of values from observable via switch_on_next to subscriber 625.98ns 520.068 1.20 1130.77ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 192.13ns 170.321 1.13 631.61ns
sending of values from observable via take to subscriber 4.03ns 3.67005 1.10 2.97ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 233.65ns 205.641 1.14 654.29ns
sending of values from observable via take_last to subscriber 3.39ns 3.03826 1.11 6.36ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1145.47ns 961.949 1.19 1680.51ns
sending of values from observable via take_until to subscriber 10.85ns 7.98364 1.36 2.02ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 18.18ns 18.7784 0.97 172.18ns
re-schedule 10 times 42.50ns 43.6702 0.97 205.74ns
recursively schedule 10 times 1405.24ns 1332.61 1.05 6290.82ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2271.24ns 1904.6 1.19 3418.79ns
sending of values from observable via window to subscriber 617.15ns 512.969 1.20 419.44ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1144.25ns 971.436 1.18 1457.77ns
sending of values from observable via with_latest_from to subscriber 30.54ns 22.997 1.33 3.39ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.50ns 2.03271 0.74 0.67ns
Dynamic observable construction 80.08ns 97.1809 0.82 131.92ns
Specific observable construction + as_dynamic 80.10ns 104.045 0.77 132.08ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 173.84ns 218.886 0.79 1223.62ns
Specific observable lift dynamic observer 202.26ns 262.612 0.77 1286.00ns
Dynamic observable lift specific observer 300.31ns 360.989 0.83 1596.05ns
Dynamic observable lift dynamic observer 260.47ns 306.556 0.85 1316.55ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 137.53ns 179.945 0.76 1186.86ns
Specific observable subscribe dynamic observer 151.50ns 197.191 0.77 1218.29ns
Dynamic observable subscribe specific observer 254.02ns 306.452 0.83 1364.47ns
Dynamic observable subscribe dynamic observer 201.13ns 249.838 0.81 1246.10ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 138.43ns 190.747 0.73 1231.27ns
Dynamic observable subscribe lambda 255.83ns 331.871 0.77 1389.16ns
Specific observable subscribe lambda without subscription 137.75ns 241.511 0.57 1181.09ns
Dynamic observable subscribe lambda without subscription 254.76ns 271.41 0.94 1345.05ns
Specific observable subscribe specific subscriber 49.20ns 61.2385 0.80 861.20ns
Dynamic observable subscribe specific subscriber 165.48ns 187.662 0.88 1029.04ns
Specific observable subscribe dynamic observer 52.18ns 67.5078 0.77 893.55ns
Dynamic observable subscribe dynamic observer 101.14ns 113.22 0.89 930.61ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.50ns 2.02218 0.74 1.51ns
Dynamic observer construction 94.23ns 95.2531 0.99 111.03ns
Specific observer construction + as_dynamic 81.83ns 106.298 0.77 110.97ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.808475 0.83 0.67ns
Dynamic observer OnNext 1.67ns 2.51966 0.66 2.34ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 84.37ns 103.98 0.81 347.38ns
Make copy of subscriber 16.71ns 17.5909 0.95 31.45ns
Transform subsriber to dynamic 96.44ns 119.695 0.81 148.99ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 84.34ns 100.736 0.84 340.76ns
composite_subscription add 68.26ns 96.7924 0.71 160.30ns
composite_subscription unsubscribe 61.99ns 87.888 0.71 123.84ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 377.37ns 483.702 0.78 4458.50ns
sending of values from observable via buffer to subscriber 6.39ns 8.41553 0.76 91.34ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 283.37ns 389.587 0.73 1735.43ns
long stateful chain creation + subscribe 681.86ns 922.5 0.74 3176.88ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1663.87ns 1918.36 0.87 2993.62ns
sending of values from observable via combine_latest to subscriber 46.89ns 53.9424 0.87 4.55ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2764.90ns 4936.89 0.56 10623.30ns
concat_with 3471.75ns 4589.88 0.76 11718.30ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 201.62ns 244.887 0.82 1036.40ns
sending of values from observable via distinct_until_changed to subscriber 3.68ns 4.65094 0.79 4.31ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 148.02ns 186.701 0.79 2618.00ns
sending of values from observable via first to subscriber 2.52ns 3.12299 0.81 1.80ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 82.26ns 105.807 0.78 2432.00ns
error 143.04ns 163.748 0.87 2509.90ns
never 52.66ns 63.4132 0.83 894.64ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 157.53ns 212.906 0.74 2489.10ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.76ns 1.5412 1.14 416.20ns
re-schedule 10 times 97.77ns 127.556 0.77 445.60ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 88.94ns 107.503 0.83 2421.55ns
just send variadic 129.20ns 153.628 0.84 2487.50ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 241.95ns 308.165 0.79 1459.47ns
sending of values from observable via last to subscriber 3.20ns 3.93266 0.81 3.73ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 104.44ns 133.045 0.78 1006.96ns
sending of values from observable via map to subscriber 3.35ns 6.49195 0.52 7.77ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2680.70ns 3403.56 0.79 12120.30ns
merge_with 3345.50ns 4751.88 0.70 11717.70ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 636.29ns 820.242 0.78 5911.00ns
sending of values from observable via observe_on to subscriber 63.59ns 82.2291 0.77 848.51ns

on_error_resume_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_error_resume_next construction from observable via dot + subscribe 657.61ns 836.917 0.79 1828.83ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 19.84ns 25.1654 0.79 32.45ns
on_error 3.04ns 3.44059 0.88 18.45ns
on_completed 3.05ns 3.28222 0.93 1.36ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 355.39ns 488.983 0.73 590.76ns
get_observable 28.46ns 33.4969 0.85 174.62ns
get_subscriber 50.18ns 68.7396 0.73 93.89ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 6078.20ns 7762.2 0.78 11160.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 207.28ns 225.779 0.92 1249.19ns
sending of values from observable via scan to subscriber 5.72ns 6.65006 0.86 9.36ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 1.87ns 3.27207 0.57 .
mutex lock increment 25.75ns 26.1594 0.98 .
spin-lock increment 9.04ns 13.2652 0.68 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 196.72ns 247.04 0.80 1548.40ns
sending of values from observable via skip to subscriber 3.68ns 4.62588 0.80 4.08ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3511.12ns 4391.14 0.80 12380.70ns
sending of values from observable via switch_on_next to subscriber 852.37ns 1027.17 0.83 3107.67ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 247.78ns 294.151 0.84 2156.08ns
sending of values from observable via take to subscriber 5.64ns 7.08003 0.80 5.56ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 345.22ns 442.339 0.78 2449.18ns
sending of values from observable via take_last to subscriber 4.38ns 5.47839 0.80 20.52ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1733.25ns 2218.0 0.78 5266.80ns
sending of values from observable via take_until to subscriber 11.50ns 14.1965 0.81 6.42ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 19.43ns 24.1446 0.80 619.55ns
re-schedule 10 times 121.18ns 145.417 0.83 644.90ns
recursively schedule 10 times 2684.80ns 3462.7 0.78 19112.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2953.00ns 3990.78 0.74 9710.67ns
sending of values from observable via window to subscriber 827.93ns 1097.69 0.75 1633.19ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1994.42ns 2397.36 0.83 3742.50ns
sending of values from observable via with_latest_from to subscriber 38.09ns 48.4958 0.79 7.19ns

@sonarcloud
Copy link

sonarcloud bot commented Oct 27, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

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

No Coverage information No Coverage information
No Duplication information No Duplication information

@victimsnino victimsnino merged commit f315b18 into main Oct 27, 2022
@victimsnino victimsnino deleted the package_sample branch October 27, 2022 20:46
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