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

Fix take until #271

Merged
merged 1 commit into from
Sep 10, 2022
Merged

Fix take until #271

merged 1 commit into from
Sep 10, 2022

Conversation

victimsnino
Copy link
Owner

No description provided.

@codecov
Copy link

codecov bot commented Sep 10, 2022

Codecov Report

Merging #271 (dace0b9) into main (cd8da3d) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #271   +/-   ##
=======================================
  Coverage   98.54%   98.54%           
=======================================
  Files          95       97    +2     
  Lines        1376     1376           
=======================================
  Hits         1356     1356           
  Misses         20       20           
Impacted Files Coverage Δ
src/rpp/rpp/operators/fwd/take_until.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/take_until.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/observables/interface_observable.hpp 100.00% <0.00%> (ø)
src/rpp/rpp/operators/last.hpp 100.00% <0.00%> (ø)
src/rpp/rpp/operators/fwd/last.hpp 100.00% <0.00%> (ø)

📣 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.34ns 0.369069 0.91 0.34ns
Dynamic observable construction 29.16ns 33.5971 0.87 24.49ns
Specific observable construction + as_dynamic 31.48ns 31.2639 1.01 24.76ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 112.27ns 135.1 0.83 291.19ns
Specific observable lift dynamic observer 134.36ns 155.425 0.86 307.89ns
Dynamic observable lift specific observer 186.18ns 225.59 0.83 333.10ns
Dynamic observable lift dynamic observer 193.52ns 199.756 0.97 326.28ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 77.37ns 91.0907 0.85 285.48ns
Specific observable subscribe dynamic observer 90.82ns 96.2619 0.94 295.69ns
Dynamic observable subscribe specific observer 148.84ns 159.248 0.93 326.94ns
Dynamic observable subscribe dynamic observer 142.04ns 167.871 0.85 312.85ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 76.35ns 80.775 0.95 284.81ns
Dynamic observable subscribe lambda 142.48ns 152.474 0.93 325.27ns
Specific observable subscribe lambda without subscription 76.54ns 79.2044 0.97 285.97ns
Dynamic observable subscribe lambda without subscription 140.08ns 159.672 0.88 327.50ns
Specific observable subscribe specific subscriber 43.19ns 46.6192 0.93 221.95ns
Dynamic observable subscribe specific subscriber 107.90ns 121.75 0.89 265.33ns
Specific observable subscribe dynamic observer 43.55ns 50.6112 0.86 240.71ns
Dynamic observable subscribe dynamic observer 96.53ns 108.424 0.89 257.55ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.34ns 0.353555 0.95 0.34ns
Dynamic observer construction 29.10ns 30.2501 0.96 21.09ns
Specific observer construction + as_dynamic 29.18ns 31.0381 0.94 20.82ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.802286 0.83 0.67ns
Dynamic observer OnNext 1.68ns 2.30558 0.73 2.34ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 33.81ns 41.0386 0.82 64.45ns
Make copy of subscriber 16.74ns 20.5496 0.81 4.68ns
Transform subsriber to dynamic 43.51ns 160.789 0.27 26.89ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 33.78ns 37.134 0.91 53.37ns
composite_subscription add 50.05ns 62.5647 0.80 93.91ns
composite_subscription unsubscribe 43.48ns 48.5746 0.90 23.62ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 268.73ns 304.516 0.88 1826.91ns
sending of values from observable via buffer to subscriber 6.36ns 7.53081 0.84 27.34ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 270.11ns 315.167 0.86 498.46ns
long stateful chain creation + subscribe 401.91ns 453.305 0.89 795.14ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 775.75ns 772.493 1.00 898.71ns
sending of values from observable via combine_latest to subscriber 18.07ns 22.7833 0.79 2.34ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1728.86ns 1812.33 0.95 3258.06ns
concat_with 1972.54ns 2488.25 0.79 3724.85ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 127.59ns 146.42 0.87 257.66ns
sending of values from observable via distinct_until_changed to subscriber 2.35ns 2.59091 0.91 1.34ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 142.74ns 170.352 0.84 573.28ns
sending of values from observable via first to subscriber 0.67ns 0.546029 1.23 0.67ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 85.39ns 101.728 0.84 616.30ns
error 135.56ns 156.418 0.87 758.84ns
never 47.00ns 59.7061 0.79 252.22ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 100.91ns 112.73 0.90 651.23ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 0.67ns 0.500015 1.34 111.97ns
re-schedule 10 times 7.52ns 11.0053 0.68 143.54ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 88.12ns 93.7307 0.94 629.05ns
just send variadic 118.80ns 125.273 0.95 741.50ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 185.55ns 206.334 0.90 351.34ns
sending of values from observable via last to subscriber 2.43ns 3.59436 0.68 1.68ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 88.91ns 100.599 0.88 238.72ns
sending of values from observable via map to subscriber 1.00ns 1.0614 0.95 2.35ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1651.29ns 2022.15 0.82 3262.26ns
merge_with 1896.28ns 2283.63 0.83 3538.95ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 572.91ns 675.193 0.85 2658.63ns
sending of values from observable via observe_on to subscriber 89.30ns 83.1011 1.07 194.55ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 24.10ns 28.3416 0.85 11.15ns
on_error 0.67ns 0.56363 1.20 19.18ns
on_completed 0.67ns 0.567256 1.19 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 187.97ns 200.054 0.94 182.66ns
get_observable 29.08ns 33.1605 0.88 50.02ns
get_subscriber 60.48ns 65.312 0.93 13.51ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3920.58ns 5059.21 0.77 3043.16ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 126.62ns 140.034 0.90 314.79ns
sending of values from observable via scan to subscriber 2.01ns 2.68374 0.75 2.35ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 120.78ns 140.725 0.86 468.64ns
sending of values from observable via skip to subscriber 2.02ns 3.03068 0.67 2.01ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2089.54ns 2468.53 0.85 2771.50ns
sending of values from observable via switch_on_next to subscriber 536.71ns 629.228 0.85 641.64ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 188.10ns 218.903 0.86 490.42ns
sending of values from observable via take to subscriber 2.35ns 3.0721 0.76 2.67ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 230.82ns 261.388 0.88 527.94ns
sending of values from observable via take_last to subscriber 2.90ns 4.09148 0.71 3.51ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 943.89ns 1080.98 0.87 1155.54ns
sending of values from observable via take_until to subscriber 17.74ns 23.5304 0.75 1.79ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 11.74ns 15.18 0.77 159.15ns
re-schedule 10 times 30.52ns 27.7476 1.10 191.52ns
recursively schedule 10 times 1399.30ns 1505.91 0.93 5461.27ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2030.10ns 2171.25 0.93 3244.16ns
sending of values from observable via window to subscriber 546.88ns 637.55 0.86 366.39ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 952.45ns 1094.45 0.87 1186.87ns
sending of values from observable via with_latest_from to subscriber 34.77ns 42.4925 0.82 3.02ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.33ns 0.391318 0.85 0.33ns
Dynamic observable construction 31.52ns 35.2835 0.89 22.76ns
Specific observable construction + as_dynamic 31.56ns 34.3678 0.92 23.43ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 118.35ns 125.047 0.95 333.05ns
Specific observable lift dynamic observer 147.88ns 179.507 0.82 353.59ns
Dynamic observable lift specific observer 197.82ns 219.376 0.90 455.16ns
Dynamic observable lift dynamic observer 218.50ns 282.893 0.77 369.07ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 83.35ns 89.2065 0.93 324.92ns
Specific observable subscribe dynamic observer 95.12ns 102.604 0.93 335.73ns
Dynamic observable subscribe specific observer 149.04ns 220.649 0.68 367.97ns
Dynamic observable subscribe dynamic observer 148.58ns 192.536 0.77 345.23ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 83.29ns 95.9669 0.87 325.32ns
Dynamic observable subscribe lambda 150.55ns 175.556 0.86 379.55ns
Specific observable subscribe lambda without subscription 83.73ns 91.956 0.91 321.74ns
Dynamic observable subscribe lambda without subscription 150.31ns 193.293 0.78 367.46ns
Specific observable subscribe specific subscriber 50.26ns 64.2995 0.78 276.88ns
Dynamic observable subscribe specific subscriber 117.58ns 142.718 0.82 364.77ns
Specific observable subscribe dynamic observer 49.97ns 56.7877 0.88 278.28ns
Dynamic observable subscribe dynamic observer 105.14ns 123.69 0.85 287.73ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.33ns 0.353699 0.95 0.34ns
Dynamic observer construction 31.61ns 29.7675 1.06 20.81ns
Specific observer construction + as_dynamic 31.58ns 34.6095 0.91 20.43ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.34ns 0.368602 0.91 0.34ns
Dynamic observer OnNext 1.68ns 2.15751 0.78 2.01ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 34.61ns 44.758 0.77 62.45ns
Make copy of subscriber 16.71ns 19.7939 0.84 5.82ns
Transform subsriber to dynamic 44.38ns 50.1623 0.88 25.37ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 35.25ns 36.1296 0.98 56.06ns
composite_subscription add 46.58ns 52.9437 0.88 99.59ns
composite_subscription unsubscribe 41.94ns 50.1475 0.84 22.06ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 255.57ns 281.103 0.91 1890.34ns
sending of values from observable via buffer to subscriber 7.71ns 7.97494 0.97 30.85ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 307.68ns 336.397 0.91 685.64ns
long stateful chain creation + subscribe 433.70ns 500.882 0.87 1090.29ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 806.88ns 950.246 0.85 1109.47ns
sending of values from observable via combine_latest to subscriber 18.38ns 19.5752 0.94 2.35ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1777.02ns 2198.58 0.81 3594.26ns
concat_with 2041.16ns 2498.37 0.82 4039.55ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 135.84ns 157.533 0.86 354.97ns
sending of values from observable via distinct_until_changed to subscriber 2.68ns 5.55709 0.48 1.34ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 164.37ns 171.774 0.96 697.33ns
sending of values from observable via first to subscriber 0.67ns 0.720858 0.93 1.01ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 87.69ns 104.471 0.84 736.64ns
error 133.94ns 166.001 0.81 839.95ns
never 49.39ns 65.0643 0.76 283.58ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 105.79ns 120.079 0.88 762.08ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.68ns 1.08937 1.54 130.15ns
re-schedule 10 times 22.83ns 22.2844 1.02 162.52ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 91.15ns 114.84 0.79 763.16ns
just send variadic 127.24ns 144.378 0.88 814.98ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 198.71ns 250.538 0.79 429.30ns
sending of values from observable via last to subscriber 2.68ns 3.5441 0.76 1.34ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 100.87ns 115.593 0.87 338.76ns
sending of values from observable via map to subscriber 1.34ns 1.16462 1.15 2.34ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1697.13ns 1959.89 0.87 3760.92ns
merge_with 1978.03ns 2452.18 0.81 3974.30ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 610.03ns 681.336 0.90 2805.58ns
sending of values from observable via observe_on to subscriber 88.66ns 103.925 0.85 238.36ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 22.42ns 26.56 0.84 9.96ns
on_error 0.67ns 0.691745 0.97 16.82ns
on_completed 0.67ns 0.841625 0.80 1.01ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 213.75ns 217.235 0.98 176.57ns
get_observable 29.41ns 35.3974 0.83 48.73ns
get_subscriber 57.45ns 60.1707 0.95 23.11ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4103.30ns 4804.87 0.85 3196.04ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 137.29ns 164.09 0.84 383.80ns
sending of values from observable via scan to subscriber 2.34ns 3.70377 0.63 1.67ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 134.19ns 172.878 0.78 537.92ns
sending of values from observable via skip to subscriber 3.34ns 3.68975 0.91 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 2170.60ns 2444.93 0.89 4362.34ns
sending of values from observable via switch_on_next to subscriber 553.97ns 585.002 0.95 1090.19ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 190.94ns 232.819 0.82 604.09ns
sending of values from observable via take to subscriber 4.71ns 5.16944 0.91 4.07ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 231.59ns 267.196 0.87 629.70ns
sending of values from observable via take_last to subscriber 3.38ns 3.49176 0.97 5.97ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 981.37ns 1476.55 0.66 1547.23ns
sending of values from observable via take_until to subscriber 17.75ns 23.327 0.76 1.80ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 21.41ns 23.9434 0.89 182.73ns
re-schedule 10 times 49.43ns 58.5524 0.84 212.74ns
recursively schedule 10 times 1416.26ns 1728.74 0.82 6547.68ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2136.38ns 2380.24 0.90 3212.44ns
sending of values from observable via window to subscriber 582.52ns 733.191 0.79 412.94ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1006.05ns 1238.69 0.81 1398.18ns
sending of values from observable via with_latest_from to subscriber 35.17ns 39.8476 0.88 4.03ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.84ns 1.8498 0.99 0.74ns
Dynamic observable construction 95.38ns 97.8478 0.97 152.06ns
Specific observable construction + as_dynamic 96.40ns 105.033 0.92 141.69ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 203.90ns 207.942 0.98 1384.60ns
Specific observable lift dynamic observer 234.85ns 221.496 1.06 1297.95ns
Dynamic observable lift specific observer 350.99ns 557.718 0.63 1601.62ns
Dynamic observable lift dynamic observer 361.48ns 320.382 1.13 1487.35ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 160.64ns 178.587 0.90 1334.81ns
Specific observable subscribe dynamic observer 178.03ns 179.205 0.99 1297.32ns
Dynamic observable subscribe specific observer 294.44ns 288.677 1.02 1599.67ns
Dynamic observable subscribe dynamic observer 243.68ns 274.718 0.89 1429.20ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 142.12ns 160.653 0.88 1362.76ns
Dynamic observable subscribe lambda 270.56ns 324.383 0.83 1642.22ns
Specific observable subscribe lambda without subscription 148.43ns 178.434 0.83 1281.39ns
Dynamic observable subscribe lambda without subscription 299.85ns 329.341 0.91 1551.44ns
Specific observable subscribe specific subscriber 56.30ns 54.5441 1.03 1057.03ns
Dynamic observable subscribe specific subscriber 189.49ns 206.697 0.92 1178.83ns
Specific observable subscribe dynamic observer 60.06ns 65.9826 0.91 1035.64ns
Dynamic observable subscribe dynamic observer 124.67ns 117.624 1.06 952.15ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.94ns 1.90305 1.02 1.93ns
Dynamic observer construction 92.78ns 104.018 0.89 130.79ns
Specific observer construction + as_dynamic 94.20ns 100.804 0.93 141.95ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.74ns 0.706606 1.05 0.76ns
Dynamic observer OnNext 2.12ns 2.39019 0.89 2.23ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 95.70ns 113.193 0.85 403.36ns
Make copy of subscriber 17.04ns 17.7469 0.96 37.85ns
Transform subsriber to dynamic 108.09ns 116.767 0.93 167.97ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 85.18ns 97.0035 0.88 428.80ns
composite_subscription add 93.42ns 78.3853 1.19 183.84ns
composite_subscription unsubscribe 72.15ns 83.0611 0.87 149.47ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 434.95ns 457.019 0.95 5487.83ns
sending of values from observable via buffer to subscriber 7.70ns 8.48937 0.91 117.57ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 303.77ns 317.029 0.96 2004.36ns
long stateful chain creation + subscribe 764.76ns 34276.8 0.02 3945.17ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1698.80ns 1776.94 0.96 3562.62ns
sending of values from observable via combine_latest to subscriber 42.52ns 39.3109 1.08 4.93ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 3924.56ns 3600.44 1.09 10871.30ns
concat_with 4479.25ns 4143.43 1.08 13113.00ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 229.90ns 216.908 1.06 1133.92ns
sending of values from observable via distinct_until_changed to subscriber 5.74ns 4.48871 1.28 3.58ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 171.62ns 183.697 0.93 2785.44ns
sending of values from observable via first to subscriber 3.00ns 3.52596 0.85 1.11ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 94.83ns 112.928 0.84 2651.20ns
error 147.27ns 174.328 0.84 2799.60ns
never 54.37ns 59.6955 0.91 969.20ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 180.14ns 191.619 0.94 2652.10ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.57ns 1.54174 1.02 449.92ns
re-schedule 10 times 118.34ns 131.091 0.90 491.69ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 96.41ns 113.333 0.85 2716.10ns
just send variadic 145.87ns 165.007 0.88 2916.00ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 283.47ns 285.5 0.99 1524.12ns
sending of values from observable via last to subscriber 4.10ns 4.07367 1.01 4.20ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 126.36ns 120.966 1.04 1358.76ns
sending of values from observable via map to subscriber 3.44ns 3.37071 1.02 8.28ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2920.10ns 3974.67 0.73 12238.70ns
merge_with 3650.62ns 3806.88 0.96 13511.00ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 938.33ns 1153.15 0.81 7439.20ns
sending of values from observable via observe_on to subscriber 101.40ns 110.76 0.92 903.16ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 36.95ns 25.4787 1.45 34.97ns
on_error 3.06ns 3.27985 0.93 19.63ns
on_completed 2.79ns 2.71991 1.02 0.76ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 379.98ns 394.469 0.96 892.84ns
get_observable 34.09ns 35.2251 0.97 195.28ns
get_subscriber 61.97ns 64.0442 0.97 107.82ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 7115.00ns 7041.75 1.01 13215.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 267.86ns 254.089 1.05 1421.35ns
sending of values from observable via scan to subscriber 6.11ns 5.93902 1.03 10.03ns

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 225.39ns 241.603 0.93 1891.13ns
sending of values from observable via skip to subscriber 3.84ns 5.23725 0.73 4.50ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 4089.29ns 4794.43 0.85 15881.50ns
sending of values from observable via switch_on_next to subscriber 1022.22ns 989.034 1.03 3733.67ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 300.99ns 318.947 0.94 2432.73ns
sending of values from observable via take to subscriber 5.80ns 7.04891 0.82 7.54ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 446.76ns 455.194 0.98 2933.30ns
sending of values from observable via take_last to subscriber 5.02ns 5.60821 0.90 24.60ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1849.27ns 1790.5 1.03 6128.80ns
sending of values from observable via take_until to subscriber 31.96ns 35.3279 0.90 5.85ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 21.86ns 20.9159 1.05 726.61ns
re-schedule 10 times 138.09ns 209.489 0.66 736.26ns
recursively schedule 10 times 3037.00ns 3567.67 0.85 22777.50ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 3690.56ns 3675.88 1.00 15921.00ns
sending of values from observable via window to subscriber 853.04ns 997.185 0.86 1981.13ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 2272.00ns 2143.09 1.06 3931.50ns
sending of values from observable via with_latest_from to subscriber 58.90ns 49.8377 1.18 9.98ns

@sonarcloud
Copy link

sonarcloud bot commented Sep 10, 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

@victimsnino victimsnino merged commit a6db1fd into main Sep 10, 2022
@victimsnino victimsnino deleted the fix_take_until branch September 10, 2022 20:44
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