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

Minor improvements #246

Merged
merged 2 commits into from
Aug 31, 2022
Merged

Minor improvements #246

merged 2 commits into from
Aug 31, 2022

Conversation

victimsnino
Copy link
Owner

No description provided.

@sonarcloud
Copy link

sonarcloud bot commented Aug 31, 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

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@codecov
Copy link

codecov bot commented Aug 31, 2022

Codecov Report

Merging #246 (6e1dd22) into main (4c4a0d7) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #246   +/-   ##
=======================================
  Coverage   98.57%   98.57%           
=======================================
  Files         128      128           
  Lines        5130     5130           
=======================================
  Hits         5057     5057           
  Misses         73       73           
Impacted Files Coverage Δ
src/rpp/rpp/operators/buffer.hpp 100.00% <100.00%> (ø)
...pp/rpp/operators/details/subscriber_with_state.hpp 100.00% <100.00%> (ø)

📣 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.40ns 0.278988 1.44 0.37ns
Dynamic observable construction 35.08ns 30.8527 1.14 27.86ns
Specific observable construction + as_dynamic 34.96ns 24.7982 1.41 29.03ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 128.25ns 116.106 1.10 318.65ns
Specific observable lift dynamic observer 181.73ns 139.866 1.30 345.14ns
Dynamic observable lift specific observer 247.47ns 217.183 1.14 356.06ns
Dynamic observable lift dynamic observer 247.70ns 176.704 1.40 384.48ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 113.47ns 108.184 1.05 332.07ns
Specific observable subscribe dynamic observer 125.15ns 90.6278 1.38 353.75ns
Dynamic observable subscribe specific observer 193.44ns 147.415 1.31 395.09ns
Dynamic observable subscribe dynamic observer 182.03ns 147.431 1.23 377.66ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 111.70ns 97.967 1.14 350.32ns
Dynamic observable subscribe lambda 191.49ns 133.216 1.44 395.47ns
Specific observable subscribe lambda without subscription 112.13ns 91.9964 1.22 351.60ns
Dynamic observable subscribe lambda without subscription 191.90ns 138.505 1.39 394.41ns
Specific observable subscribe specific subscriber 52.39ns 42.7354 1.23 269.09ns
Dynamic observable subscribe specific subscriber 129.31ns 104.874 1.23 325.89ns
Specific observable subscribe dynamic observer 52.85ns 38.3856 1.38 285.55ns
Dynamic observable subscribe dynamic observer 112.35ns 89.628 1.25 319.47ns

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 34.75ns 29.0558 1.20 24.60ns
Specific observer construction + as_dynamic 33.56ns 29.3595 1.14 24.86ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.81ns 0.623317 1.30 0.81ns
Dynamic observer OnNext 1.81ns 1.83278 0.99 2.69ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 56.35ns 41.2615 1.37 77.71ns
Make copy of subscriber 19.14ns 15.7863 1.21 6.72ns
Transform subsriber to dynamic 46.18ns 46.965 0.98 32.42ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 40.16ns 80.9935 0.50 63.30ns
composite_subscription add 58.14ns 51.178 1.14 24.61ns
composite_subscription unsubscribe 14.92ns 11.9759 1.25 12.91ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 315.38ns 361.924 0.87 2201.42ns
sending of values from observable via buffer to subscriber 7.47ns 6.51742 1.15 32.81ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 316.09ns 279.0 1.13 607.10ns
long stateful chain creation + subscribe 469.45ns 366.452 1.28 924.56ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 761.53ns 651.95 1.17 1066.71ns
sending of values from observable via combine_latest to subscriber 20.50ns 20.8586 0.98 2.82ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1639.72ns 1262.1 1.30 3229.99ns
concat_with 1944.43ns 1682.37 1.16 3918.27ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 151.90ns 111.535 1.36 294.69ns
sending of values from observable via distinct_until_changed to subscriber 3.22ns 2.70125 1.19 2.38ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 167.17ns 150.07 1.11 709.13ns
sending of values from observable via first to subscriber 0.80ns 0.530903 1.52 0.80ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 101.72ns 106.851 0.95 748.32ns
error 162.97ns 153.03 1.06 889.56ns
never 55.66ns 50.6983 1.10 302.66ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 115.08ns 112.914 1.02 763.28ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 32.94ns 20.8966 1.58 121.21ns
re-schedule 10 times 38.36ns 28.5636 1.34 171.41ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 103.80ns 125.392 0.83 766.61ns
just send variadic 132.69ns 111.742 1.19 914.70ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 107.22ns 94.2446 1.14 291.39ns
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 1454.60ns 1285.5 1.13 3633.50ns
merge_with 1585.50ns 2130.06 0.74 3734.70ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 640.22ns 566.821 1.13 2965.74ns
sending of values from observable via observe_on to subscriber 98.80ns 97.4523 1.01 242.68ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.07ns 31.7574 0.92 11.57ns
on_error 0.61ns 0.531266 1.14 23.17ns
on_completed 0.59ns 0.50567 1.16 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 232.83ns 180.041 1.29 219.02ns
get_observable 34.93ns 25.7287 1.36 58.94ns
get_subscriber 68.41ns 54.6707 1.25 15.91ns

repeat

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

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 147.53ns 109.645 1.35 357.10ns
sending of values from observable via scan to subscriber 2.26ns 2.35378 0.96 2.27ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 140.68ns 114.28 1.23 561.20ns
sending of values from observable via skip to subscriber 2.81ns 2.28547 1.23 2.11ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2259.43ns 1635.33 1.38 3516.09ns
sending of values from observable via switch_on_next to subscriber 588.79ns 457.585 1.29 753.52ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 224.53ns 194.654 1.15 530.09ns
sending of values from observable via take to subscriber 2.79ns 3.05458 0.91 4.13ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 45.03ns 29.5654 1.52 191.03ns
re-schedule 10 times 66.70ns 44.9009 1.49 216.80ns
recursively schedule 10 times 1743.86ns 1827.72 0.95 6560.88ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2462.82ns 1989.85 1.24 3584.79ns
sending of values from observable via window to subscriber 656.16ns 477.646 1.37 400.77ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 762.72ns 741.03 1.03 1239.77ns
sending of values from observable via with_latest_from to subscriber 21.22ns 16.4996 1.29 3.81ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.39ns 0.357867 1.10 0.34ns
Dynamic observable construction 32.92ns 31.214 1.05 24.23ns
Specific observable construction + as_dynamic 33.43ns 29.1661 1.15 25.00ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 143.97ns 146.043 0.99 392.24ns
Specific observable lift dynamic observer 155.95ns 176.309 0.88 358.42ns
Dynamic observable lift specific observer 261.34ns 239.839 1.09 449.24ns
Dynamic observable lift dynamic observer 254.06ns 235.642 1.08 406.82ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 127.42ns 101.898 1.25 365.94ns
Specific observable subscribe dynamic observer 102.19ns 120.058 0.85 423.24ns
Dynamic observable subscribe specific observer 175.00ns 173.537 1.01 464.22ns
Dynamic observable subscribe dynamic observer 159.06ns 205.406 0.77 424.48ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 96.11ns 91.473 1.05 353.86ns
Dynamic observable subscribe lambda 186.36ns 168.664 1.10 451.50ns
Specific observable subscribe lambda without subscription 88.65ns 112.66 0.79 386.97ns
Dynamic observable subscribe lambda without subscription 174.75ns 170.803 1.02 488.92ns
Specific observable subscribe specific subscriber 63.98ns 48.8849 1.31 344.37ns
Dynamic observable subscribe specific subscriber 130.29ns 154.804 0.84 361.63ns
Specific observable subscribe dynamic observer 54.51ns 61.6762 0.88 303.06ns
Dynamic observable subscribe dynamic observer 116.46ns 131.473 0.89 352.91ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.36ns 0.350405 1.03 0.32ns
Dynamic observer construction 30.34ns 29.819 1.02 22.17ns
Specific observer construction + as_dynamic 32.84ns 29.57 1.11 22.50ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.35ns 0.381955 0.91 0.35ns
Dynamic observer OnNext 2.13ns 2.07109 1.03 2.34ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 47.75ns 46.9226 1.02 67.79ns
Make copy of subscriber 22.57ns 20.1579 1.12 6.02ns
Transform subsriber to dynamic 46.71ns 52.6984 0.89 31.21ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 40.14ns 46.5792 0.86 74.87ns
composite_subscription add 48.92ns 69.2773 0.71 16.37ns
composite_subscription unsubscribe 15.37ns 13.5823 1.13 14.35ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 340.94ns 305.995 1.11 2143.88ns
sending of values from observable via buffer to subscriber 7.57ns 8.47979 0.89 30.71ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 346.89ns 441.524 0.79 840.24ns
long stateful chain creation + subscribe 524.21ns 505.189 1.04 1311.11ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 854.34ns 707.883 1.21 1424.96ns
sending of values from observable via combine_latest to subscriber 23.77ns 23.1541 1.03 1.84ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1653.39ns 1771.91 0.93 4511.92ns
concat_with 2064.96ns 2019.7 1.02 4468.04ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 174.48ns 127.184 1.37 430.66ns
sending of values from observable via distinct_until_changed to subscriber 4.16ns 3.55829 1.17 1.23ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 185.65ns 194.54 0.95 932.55ns
sending of values from observable via first to subscriber 0.71ns 0.947224 0.75 0.59ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 97.67ns 99.9769 0.98 855.36ns
error 153.06ns 160.881 0.95 917.43ns
never 58.77ns 58.6824 1.00 313.74ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 114.53ns 118.287 0.97 790.32ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 32.44ns 37.9598 0.85 140.50ns
re-schedule 10 times 49.83ns 55.5988 0.90 176.70ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 100.61ns 215.804 0.47 848.23ns
just send variadic 136.28ns 124.238 1.10 1133.57ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 116.08ns 111.268 1.04 374.18ns
sending of values from observable via map to subscriber 1.02ns 0.980805 1.04 1.49ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1596.51ns 1566.87 1.02 4918.62ns
merge_with 1976.32ns 1979.32 1.00 5354.05ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 1002.15ns 617.191 1.62 3043.36ns
sending of values from observable via observe_on to subscriber 104.26ns 100.576 1.04 312.67ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 25.51ns 25.635 1.00 12.73ns
on_error 0.73ns 0.77426 0.94 23.52ns
on_completed 0.89ns 1.14084 0.78 0.82ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 216.26ns 242.942 0.89 231.90ns
get_observable 30.61ns 36.4378 0.84 53.12ns
get_subscriber 54.00ns 64.4121 0.84 24.40ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 7376.35ns 6695.32 1.10 4414.04ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 151.27ns 199.915 0.76 495.90ns
sending of values from observable via scan to subscriber 3.77ns 3.30607 1.14 1.83ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 152.97ns 135.593 1.13 569.76ns
sending of values from observable via skip to subscriber 3.20ns 4.43001 0.72 2.57ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 1750.02ns 2054.63 0.85 5434.04ns
sending of values from observable via switch_on_next to subscriber 794.64ns 579.471 1.37 1211.08ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 191.72ns 242.699 0.79 738.51ns
sending of values from observable via take to subscriber 6.36ns 7.08285 0.90 4.50ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 53.65ns 49.5797 1.08 223.82ns
re-schedule 10 times 80.52ns 69.7719 1.15 238.17ns
recursively schedule 10 times 1761.90ns 1832.31 0.96 7986.33ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2982.80ns 2222.27 1.34 3652.91ns
sending of values from observable via window to subscriber 657.90ns 671.532 0.98 544.08ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 708.85ns 744.393 0.95 1670.01ns
sending of values from observable via with_latest_from to subscriber 20.67ns 17.0356 1.21 4.46ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 2.10ns 1.81942 1.15 0.66ns
Dynamic observable construction 96.35ns 96.0638 1.00 146.55ns
Specific observable construction + as_dynamic 94.82ns 93.5141 1.01 127.32ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 206.18ns 214.681 0.96 2132.93ns
Specific observable lift dynamic observer 227.48ns 247.5 0.92 2075.93ns
Dynamic observable lift specific observer 345.30ns 369.453 0.93 2187.57ns
Dynamic observable lift dynamic observer 304.87ns 309.414 0.99 1932.93ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 168.14ns 176.989 0.95 1922.81ns
Specific observable subscribe dynamic observer 162.96ns 187.983 0.87 2326.67ns
Dynamic observable subscribe specific observer 289.85ns 314.294 0.92 2144.21ns
Dynamic observable subscribe dynamic observer 254.14ns 253.173 1.00 2039.40ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 167.49ns 176.525 0.95 1733.00ns
Dynamic observable subscribe lambda 296.97ns 319.021 0.93 2053.50ns
Specific observable subscribe lambda without subscription 191.65ns 160.972 1.19 2024.69ns
Dynamic observable subscribe lambda without subscription 295.38ns 331.624 0.89 2120.92ns
Specific observable subscribe specific subscriber 60.78ns 57.5038 1.06 931.76ns
Dynamic observable subscribe specific subscriber 191.03ns 198.019 0.96 1151.54ns
Specific observable subscribe dynamic observer 65.98ns 73.1388 0.90 1053.03ns
Dynamic observable subscribe dynamic observer 114.23ns 133.524 0.86 1019.35ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.94ns 1.80391 1.07 1.79ns
Dynamic observer construction 95.01ns 177.159 0.54 122.35ns
Specific observer construction + as_dynamic 89.14ns 98.3815 0.91 125.78ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.74ns 0.820956 0.91 0.96ns
Dynamic observer OnNext 3.27ns 2.0143 1.62 2.56ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 104.23ns 114.076 0.91 1094.50ns
Make copy of subscriber 16.19ns 20.0653 0.81 38.53ns
Transform subsriber to dynamic 105.60ns 115.562 0.91 144.71ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 91.22ns 111.219 0.82 987.55ns
composite_subscription add 72.96ns 104.976 0.70 66.19ns
composite_subscription unsubscribe 16.02ns 17.3849 0.92 47.75ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 397.50ns 461.762 0.86 5161.40ns
sending of values from observable via buffer to subscriber 8.08ns 7.94561 1.02 113.58ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 306.06ns 330.198 0.93 1988.23ns
long stateful chain creation + subscribe 826.34ns 808.947 1.02 3724.14ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1264.90ns 1304.0 0.97 3454.00ns
sending of values from observable via combine_latest to subscriber 39.27ns 42.9577 0.91 4.92ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2352.36ns 2416.31 0.97 12720.30ns
concat_with 2932.78ns 3228.9 0.91 14116.30ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 224.00ns 240.786 0.93 1133.20ns
sending of values from observable via distinct_until_changed to subscriber 4.85ns 4.32059 1.12 3.79ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 164.64ns 172.083 0.96 3042.70ns
sending of values from observable via first to subscriber 2.89ns 3.24229 0.89 1.10ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 83.70ns 95.716 0.87 3669.33ns
error 141.30ns 165.439 0.85 2577.30ns
never 53.14ns 52.9195 1.00 1477.81ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 178.59ns 186.294 0.96 2842.44ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 29.17ns 33.341 0.87 481.52ns
re-schedule 10 times 146.45ns 144.757 1.01 569.02ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 93.12ns 100.396 0.93 2904.45ns
just send variadic 130.81ns 148.48 0.88 2691.22ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 112.83ns 122.304 0.92 1035.19ns
sending of values from observable via map to subscriber 3.67ns 4.01307 0.91 7.20ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2289.54ns 2200.23 1.04 10970.30ns
merge_with 3065.44ns 3063.0 1.00 14162.30ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 916.00ns 987.032 0.93 7050.25ns
sending of values from observable via observe_on to subscriber 90.34ns 101.599 0.89 915.10ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 22.97ns 23.944 0.96 34.64ns
on_error 2.61ns 4.68216 0.56 21.04ns
on_completed 2.78ns 3.24275 0.86 0.75ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 393.41ns 426.967 0.92 711.41ns
get_observable 29.28ns 32.9494 0.89 180.32ns
get_subscriber 66.32ns 60.3848 1.10 107.48ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 6405.33ns 8095.8 0.79 16698.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 228.05ns 246.379 0.93 1289.18ns
sending of values from observable via scan to subscriber 6.46ns 6.40909 1.01 10.86ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 218.74ns 228.806 0.96 1722.00ns
sending of values from observable via skip to subscriber 4.74ns 4.42247 1.07 4.31ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3019.00ns 4324.0 0.70 13894.50ns
sending of values from observable via switch_on_next to subscriber 942.21ns 964.727 0.98 3778.88ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 263.56ns 293.802 0.90 2432.73ns
sending of values from observable via take to subscriber 6.36ns 6.53722 0.97 7.22ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 43.48ns 51.0016 0.85 820.87ns
re-schedule 10 times 231.63ns 161.523 1.43 784.33ns
recursively schedule 10 times 4002.88ns 4217.0 0.95 21317.50ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 3269.44ns 3702.9 0.88 14177.30ns
sending of values from observable via window to subscriber 1035.10ns 1005.31 1.03 2526.62ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1247.00ns 1293.17 0.96 4208.80ns
sending of values from observable via with_latest_from to subscriber 30.48ns 35.1355 0.87 8.72ns

@victimsnino victimsnino merged commit 1d2b955 into main Aug 31, 2022
@victimsnino victimsnino deleted the minor_improvements branch August 31, 2022 13:15
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