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

Improve doxygen #318

Merged
merged 2 commits into from
Dec 25, 2022
Merged

Improve doxygen #318

merged 2 commits into from
Dec 25, 2022

Conversation

victimsnino
Copy link
Owner

No description provided.

@codecov
Copy link

codecov bot commented Dec 25, 2022

Codecov Report

Merging #318 (c6bf18a) into main (4d52c08) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #318   +/-   ##
=======================================
  Coverage   97.88%   97.88%           
=======================================
  Files         114      114           
  Lines        1794     1794           
=======================================
  Hits         1756     1756           
  Misses         38       38           
Impacted Files Coverage Δ
src/rpp/rpp/operators/fwd/filter.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/scan.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/start_with.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/subscribe_on.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/take.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/take_last.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/take_until.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/take_while.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/timeout.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/window.hpp 100.00% <ø> (ø)
... and 3 more

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

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ clang-tidy found issue(s) with the introduced code (1/1)

*
* \ingroup transforming_operators
* \see https://reactivex.io/documentation/operators/scan.html
*/
template<typename Result, scan_accumulator<Result, Type> AccumulatorFn>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ clang-diagnostic-error ⚠️
no template named scan_accumulator

*
* \ingroup transforming_operators
* \see https://reactivex.io/documentation/operators/scan.html
*/
template<typename Result, scan_accumulator<Result, Type> AccumulatorFn>
auto scan(Result&& initial_value, AccumulatorFn&& accumulator) const & requires is_header_included<scan_tag, Result, AccumulatorFn>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ clang-diagnostic-error ⚠️
unknown type name AccumulatorFn

*
* \ingroup transforming_operators
* \see https://reactivex.io/documentation/operators/scan.html
*/
template<typename Result, scan_accumulator<Result, Type> AccumulatorFn>
auto scan(Result&& initial_value, AccumulatorFn&& accumulator) const & requires is_header_included<scan_tag, Result, AccumulatorFn>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ clang-diagnostic-error ⚠️
template argument for template type parameter must be a type

@github-actions
Copy link
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-macos

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.28ns 0.274051 1.02 0.29ns
Dynamic observable construction 73.67ns 68.828 1.07 108.60ns
Specific observable construction + as_dynamic 86.67ns 67.3661 1.29 105.14ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 143.60ns 137.746 1.04 1115.86ns
Specific observable lift dynamic observer 160.11ns 155.147 1.03 1149.74ns
Dynamic observable lift specific observer 321.00ns 237.661 1.35 1257.00ns
Dynamic observable lift dynamic observer 232.94ns 199.037 1.17 1190.16ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 129.82ns 133.517 0.97 1136.65ns
Specific observable subscribe dynamic observer 135.81ns 116.652 1.16 1355.18ns
Dynamic observable subscribe specific observer 245.93ns 199.06 1.24 1225.07ns
Dynamic observable subscribe dynamic observer 176.68ns 272.052 0.65 1168.05ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 131.27ns 131.178 1.00 1068.03ns
Dynamic observable subscribe lambda 217.81ns 216.612 1.01 1321.72ns
Specific observable subscribe lambda without subscription 126.64ns 103.755 1.22 1098.79ns
Dynamic observable subscribe lambda without subscription 235.74ns 197.341 1.19 1257.35ns
Specific observable subscribe specific subscriber 29.74ns 28.4583 1.04 828.28ns
Dynamic observable subscribe specific subscriber 134.83ns 127.302 1.06 1011.50ns
Specific observable subscribe dynamic observer 30.70ns 29.732 1.03 850.89ns
Dynamic observable subscribe dynamic observer 73.53ns 69.2491 1.06 867.96ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.30ns 0.271906 1.09 0.29ns
Dynamic observer construction 77.71ns 69.7416 1.11 100.32ns
Specific observer construction + as_dynamic 73.83ns 70.6145 1.05 104.77ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.79ns 0.748917 1.05 0.82ns
Dynamic observer OnNext 2.16ns 1.97829 1.09 2.19ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 72.34ns 76.1391 0.95 350.51ns
Make copy of subscriber 12.26ns 11.9141 1.03 25.06ns
Transform subsriber to dynamic 96.07ns 85.5433 1.12 127.26ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 77.15ns 72.5646 1.06 301.12ns
composite_subscription add 58.80ns 55.0188 1.07 109.35ns
composite_subscription unsubscribe 84.08ns 70.7405 1.19 77.28ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 1420.38ns 1290.46 1.10 3222.55ns
sending of values from observable via buffer to subscriber 5.81ns 5.498 1.06 89.74ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 221.86ns 207.847 1.07 1410.65ns
long stateful chain creation + subscribe 540.92ns 502.269 1.08 2674.29ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1412.65ns 1228.68 1.15 .
sending of values from observable via combine_latest to subscriber 24.08ns 22.2607 1.08 .

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 4228.82ns 3932.92 1.08 9625.94ns
concat_with 4313.73ns 4016.18 1.07 10675.00ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 148.13ns 163.274 0.91 892.19ns
sending of values from observable via distinct_until_changed to subscriber 2.30ns 2.11192 1.09 1.16ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 203.65ns 180.032 1.13 2171.63ns
sending of values from observable via first to subscriber 0.56ns 0.542916 1.04 0.93ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 66.19ns 71.3181 0.93 2155.24ns
error 114.28ns 106.836 1.07 2286.24ns
never 32.82ns 31.0012 1.06 978.86ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 697.96ns 582.31 1.20 2375.18ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 2.28ns 2.13698 1.07 407.94ns
re-schedule 10 times 26.62ns 24.1185 1.10 414.81ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 454.93ns 418.602 1.09 2147.60ns
just send variadic 1809.20ns 1767.44 1.02 2377.52ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 307.99ns 277.923 1.11 1351.55ns
sending of values from observable via last to subscriber 5.01ns 4.18551 1.20 1.30ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 68.96ns 63.3934 1.09 978.26ns
sending of values from observable via map to subscriber 1.13ns 1.0832 1.05 1.54ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 4434.71ns 3924.08 1.13 10514.40ns
merge_with 4064.92ns 3811.26 1.07 10208.40ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 1199.50ns 1128.93 1.06 11552.80ns
sending of values from observable via observe_on to subscriber 228.06ns 200.251 1.14 855.60ns

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 570.72ns 723.953 0.79 1628.46ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 20.63ns 20.2896 1.02 28.18ns
on_error 0.58ns 0.529865 1.10 17.18ns
on_completed 0.57ns 0.544543 1.06 2.34ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 335.03ns 310.054 1.08 627.42ns
get_observable 26.77ns 26.137 1.02 174.35ns
get_subscriber 52.38ns 50.7813 1.03 78.36ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 5455.60ns 5292.06 1.03 10410.20ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 162.53ns 136.173 1.19 1162.51ns
sending of values from observable via scan to subscriber 2.25ns 2.18092 1.03 2.00ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 1.86ns 1.72777 1.07 .
mutex lock increment 25.15ns 21.5722 1.17 .
spin-lock increment 8.33ns 7.84447 1.06 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 143.83ns 147.293 0.98 1481.73ns
sending of values from observable via skip to subscriber 2.46ns 2.03696 1.21 1.88ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 4825.11ns 4433.34 1.09 11179.60ns
sending of values from observable via switch_on_next to subscriber 987.10ns 865.978 1.14 2627.27ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 220.54ns 182.496 1.21 1791.29ns
sending of values from observable via take to subscriber 3.07ns 2.82991 1.08 5.53ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 292.76ns 270.489 1.08 2094.18ns
sending of values from observable via take_last to subscriber 2.81ns 2.68619 1.04 5.21ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 2442.74ns 2276.06 1.07 4459.69ns
sending of values from observable via take_until to subscriber 7.90ns 7.67373 1.03 2.35ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 6455.93ns 5815.67 1.11 4349.55ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 71.78ns 66.3937 1.08 898.53ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 29.42ns 27.8238 1.06 609.28ns
re-schedule 10 times 91.04ns 96.8769 0.94 638.64ns
recursively schedule 10 times 1932.72ns 1944.65 0.99 15654.90ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 4149.10ns 3779.06 1.10 8198.26ns
sending of values from observable via window to subscriber 813.28ns 800.279 1.02 1469.88ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1551.71ns 1568.52 0.99 .
sending of values from observable via with_latest_from to subscriber 23.36ns 24.5949 0.95 .

ci-ubuntu-clang

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.334815 1.20 0.40ns
Dynamic observable construction 19.44ns 18.3748 1.06 30.32ns
Specific observable construction + as_dynamic 18.91ns 18.0174 1.05 30.17ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 51.60ns 50.3968 1.02 337.78ns
Specific observable lift dynamic observer 52.93ns 51.0645 1.04 353.72ns
Dynamic observable lift specific observer 84.11ns 84.1599 1.00 389.15ns
Dynamic observable lift dynamic observer 79.28ns 74.9734 1.06 369.73ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 32.93ns 36.5688 0.90 334.32ns
Specific observable subscribe dynamic observer 35.17ns 37.3047 0.94 337.41ns
Dynamic observable subscribe specific observer 67.69ns 70.3054 0.96 377.94ns
Dynamic observable subscribe dynamic observer 59.73ns 59.8541 1.00 353.89ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 33.85ns 36.6298 0.92 332.10ns
Dynamic observable subscribe lambda 61.04ns 65.9432 0.93 372.12ns
Specific observable subscribe lambda without subscription 33.90ns 36.5289 0.93 330.93ns
Dynamic observable subscribe lambda without subscription 58.11ns 64.7543 0.90 372.67ns
Specific observable subscribe specific subscriber 14.46ns 13.7264 1.05 277.00ns
Dynamic observable subscribe specific subscriber 41.26ns 42.801 0.96 316.44ns
Specific observable subscribe dynamic observer 14.48ns 13.7802 1.05 286.14ns
Dynamic observable subscribe dynamic observer 36.55ns 33.6415 1.09 294.89ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.334476 1.20 0.40ns
Dynamic observer construction 19.06ns 18.0931 1.05 26.06ns
Specific observer construction + as_dynamic 18.46ns 19.1354 0.96 24.69ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.44ns 0.668861 0.66 0.44ns
Dynamic observer OnNext 1.61ns 1.67605 0.96 2.00ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 19.74ns 20.0473 0.98 64.21ns
Make copy of subscriber 10.64ns 6.9637 1.53 10.65ns
Transform subsriber to dynamic 20.73ns 19.7592 1.05 28.25ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 20.16ns 19.4234 1.04 57.96ns
composite_subscription add 21.93ns 18.5341 1.18 91.03ns
composite_subscription unsubscribe 26.82ns 30.412 0.88 26.81ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 747.60ns 748.186 1.00 1959.88ns
sending of values from observable via buffer to subscriber 4.82ns 6.02731 0.80 24.65ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 134.35ns 102.23 1.31 603.73ns
long stateful chain creation + subscribe 156.45ns 145.101 1.08 1528.01ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 423.77ns 455.264 0.93 .
sending of values from observable via combine_latest to subscriber 8.14ns 9.01576 0.90 .

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1843.82ns 1785.62 1.03 3964.64ns
concat_with 1650.63ns 1566.82 1.05 4334.45ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 52.73ns 53.8934 0.98 312.96ns
sending of values from observable via distinct_until_changed to subscriber 2.02ns 2.00701 1.00 1.36ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 81.74ns 81.5514 1.00 750.16ns
sending of values from observable via first to subscriber 0.40ns 0.334987 1.20 0.81ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 37.27ns 36.3356 1.03 725.71ns
error 81.04ns 81.1799 1.00 782.03ns
never 14.65ns 14.4574 1.01 284.14ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 231.33ns 249.266 0.93 756.39ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 0.79ns 1.34121 0.59 124.07ns
re-schedule 10 times 7.26ns 7.72256 0.94 157.41ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 209.01ns 214.166 0.98 721.70ns
just send variadic 1158.58ns 1209.68 0.96 801.46ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 109.39ns 113.617 0.96 446.86ns
sending of values from observable via last to subscriber 3.24ns 2.34094 1.39 1.21ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 40.87ns 30.3591 1.35 299.95ns
sending of values from observable via map to subscriber 0.80ns 1.33728 0.60 1.94ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1774.06ns 1739.97 1.02 3842.77ns
merge_with 1646.26ns 1553.43 1.06 4211.16ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 548.94ns 550.43 1.00 2730.38ns
sending of values from observable via observe_on to subscriber 122.32ns 125.764 0.97 243.61ns

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 228.46ns 233.138 0.98 919.52ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 20.14ns 19.0904 1.05 13.28ns
on_error 0.81ns 0.67273 1.20 18.95ns
on_completed 0.81ns 0.672535 1.20 0.60ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 116.48ns 119.263 0.98 161.88ns
get_observable 10.74ns 7.94628 1.35 49.34ns
get_subscriber 29.98ns 19.6922 1.52 24.46ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 2087.43ns 2176.97 0.96 3515.69ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 47.21ns 46.1715 1.02 404.82ns
sending of values from observable via scan to subscriber 2.01ns 2.00681 1.00 2.01ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 3.16ns 2.00796 1.57 .
mutex lock increment 6.42ns 8.01798 0.80 .
spin-lock increment 10.42ns 9.02758 1.15 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 47.52ns 45.762 1.04 560.50ns
sending of values from observable via skip to subscriber 2.41ns 2.00979 1.20 2.58ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 1817.87ns 1802.28 1.01 3850.36ns
sending of values from observable via switch_on_next to subscriber 3822.58ns 4569.28 0.84 878.72ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 81.95ns 82.0685 1.00 599.25ns
sending of values from observable via take to subscriber 2.41ns 2.34612 1.03 2.25ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 116.03ns 115.35 1.01 650.11ns
sending of values from observable via take_last to subscriber 3.27ns 2.38244 1.37 3.91ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 914.58ns 879.244 1.04 1524.66ns
sending of values from observable via take_until to subscriber 10.48ns 8.69372 1.21 2.01ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 798.44ns 786.459 1.02 13673.00ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 42.87ns 44.1474 0.97 16586.70ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 7.23ns 8.33059 0.87 185.75ns
re-schedule 10 times 24.58ns 27.8634 0.88 212.41ns
recursively schedule 10 times 1453.70ns 1443.26 1.01 7586.83ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 1637.22ns 1591.13 1.03 3672.57ns
sending of values from observable via window to subscriber 276.08ns 264.81 1.04 407.54ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 493.60ns 529.308 0.93 .
sending of values from observable via with_latest_from to subscriber 7.73ns 8.54339 0.90 .

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.34ns 0.371512 0.90 0.34ns
Dynamic observable construction 32.49ns 33.9305 0.96 52.01ns
Specific observable construction + as_dynamic 32.50ns 37.054 0.88 51.97ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 98.87ns 119.345 0.83 728.84ns
Specific observable lift dynamic observer 127.53ns 144.009 0.89 777.62ns
Dynamic observable lift specific observer 183.57ns 227.868 0.81 834.81ns
Dynamic observable lift dynamic observer 195.78ns 227.907 0.86 804.82ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 61.79ns 69.393 0.89 701.91ns
Specific observable subscribe dynamic observer 78.05ns 218.163 0.36 731.78ns
Dynamic observable subscribe specific observer 132.21ns 154.071 0.86 785.85ns
Dynamic observable subscribe dynamic observer 129.19ns 154.069 0.84 743.74ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 61.84ns 70.3295 0.88 715.17ns
Dynamic observable subscribe lambda 132.76ns 151.616 0.88 783.16ns
Specific observable subscribe lambda without subscription 61.89ns 71.3949 0.87 698.98ns
Dynamic observable subscribe lambda without subscription 132.67ns 159.771 0.83 783.54ns
Specific observable subscribe specific subscriber 30.50ns 35.0386 0.87 599.24ns
Dynamic observable subscribe specific subscriber 99.06ns 118.837 0.83 686.28ns
Specific observable subscribe dynamic observer 30.42ns 36.4191 0.84 624.96ns
Dynamic observable subscribe dynamic observer 85.07ns 100.577 0.85 633.98ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.33ns 0.402676 0.83 0.33ns
Dynamic observer construction 32.48ns 36.0361 0.90 45.22ns
Specific observer construction + as_dynamic 32.49ns 33.9043 0.96 47.54ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.33ns 0.393801 0.85 0.33ns
Dynamic observer OnNext 2.01ns 2.25742 0.89 2.01ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 35.51ns 40.781 0.87 136.10ns
Make copy of subscriber 16.74ns 20.7807 0.81 31.80ns
Transform subsriber to dynamic 45.85ns 49.3827 0.93 78.22ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 35.41ns 42.4897 0.83 128.83ns
composite_subscription add 47.37ns 55.1938 0.86 118.09ns
composite_subscription unsubscribe 43.26ns 51.6945 0.84 38.33ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 964.01ns 1094.65 0.88 2924.29ns
sending of values from observable via buffer to subscriber 6.33ns 9.06263 0.70 30.54ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 287.25ns 454.108 0.63 1362.39ns
long stateful chain creation + subscribe 429.12ns 543.756 0.79 4094.86ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 861.26ns 1045.95 0.82 .
sending of values from observable via combine_latest to subscriber 9.05ns 9.36904 0.97 .

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2973.72ns 3538.1 0.84 7509.65ns
concat_with 2771.84ns 3255.89 0.85 8095.81ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 121.31ns 144.991 0.84 732.86ns
sending of values from observable via distinct_until_changed to subscriber 2.68ns 3.11186 0.86 1.35ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 172.39ns 203.086 0.85 1676.07ns
sending of values from observable via first to subscriber 1.34ns 0.770513 1.74 1.01ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 67.48ns 91.403 0.74 1720.34ns
error 118.84ns 135.172 0.88 1746.23ns
never 32.37ns 43.3783 0.75 628.24ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 332.56ns 390.184 0.85 1780.83ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.68ns 1.09126 1.54 282.67ns
re-schedule 10 times 22.80ns 20.9517 1.09 312.76ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 299.54ns 372.444 0.80 1768.72ns
just send variadic 1424.72ns 1592.2 0.89 1802.36ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 209.96ns 250.604 0.84 1013.17ns
sending of values from observable via last to subscriber 3.27ns 4.00161 0.82 1.34ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 81.90ns 125.122 0.65 730.22ns
sending of values from observable via map to subscriber 1.34ns 0.884597 1.51 2.68ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2909.20ns 3923.31 0.74 9117.56ns
merge_with 2759.47ns 3335.79 0.83 8946.06ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 818.75ns 932.935 0.88 3222.58ns
sending of values from observable via observe_on to subscriber 159.16ns 177.952 0.89 516.66ns

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 443.20ns 538.081 0.82 1489.06ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 22.42ns 33.203 0.68 15.95ns
on_error 0.67ns 0.796798 0.85 16.88ns
on_completed 0.67ns 0.801808 0.84 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 212.64ns 246.238 0.86 379.22ns
get_observable 29.45ns 30.9331 0.95 98.02ns
get_subscriber 57.30ns 63.6835 0.90 97.34ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4231.53ns 4871.56 0.87 7044.45ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 118.17ns 139.214 0.85 900.21ns
sending of values from observable via scan to subscriber 2.01ns 2.64883 0.76 1.62ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.01ns 2.76882 0.73 .
mutex lock increment 7.39ns 32.5833 0.23 .
spin-lock increment 9.04ns 13.4117 0.67 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 115.98ns 190.821 0.61 1087.05ns
sending of values from observable via skip to subscriber 2.79ns 3.14933 0.89 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 3165.02ns 3862.54 0.82 10678.10ns
sending of values from observable via switch_on_next to subscriber 793.26ns 904.81 0.88 3026.62ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 174.83ns 214.058 0.82 1348.46ns
sending of values from observable via take to subscriber 2.86ns 4.58373 0.62 4.06ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 210.32ns 263.237 0.80 1421.10ns
sending of values from observable via take_last to subscriber 2.93ns 4.01641 0.73 5.93ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1601.12ns 1987.7 0.81 3536.58ns
sending of values from observable via take_until to subscriber 9.04ns 13.5938 0.66 1.87ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1122.25ns 1423.27 0.79 16186.40ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 61.10ns 66.1769 0.92 1896.84ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 21.42ns 24.1687 0.89 377.74ns
re-schedule 10 times 50.93ns 50.7473 1.00 407.22ns
recursively schedule 10 times 1438.91ns 1765.27 0.82 19818.60ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2747.65ns 3285.18 0.84 6011.38ns
sending of values from observable via window to subscriber 553.67ns 646.838 0.86 954.10ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1064.53ns 1241.13 0.86 .
sending of values from observable via with_latest_from to subscriber 9.51ns 12.1654 0.78 .

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.50ns 1.50388 1.00 0.67ns
Dynamic observable construction 79.33ns 81.9644 0.97 122.50ns
Specific observable construction + as_dynamic 79.61ns 81.6238 0.98 122.40ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 147.71ns 147.057 1.00 1208.57ns
Specific observable lift dynamic observer 179.75ns 178.721 1.01 1268.24ns
Dynamic observable lift specific observer 283.59ns 284.09 1.00 1428.28ns
Dynamic observable lift dynamic observer 235.75ns 234.028 1.01 1311.05ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 112.47ns 111.259 1.01 1168.91ns
Specific observable subscribe dynamic observer 130.99ns 129.903 1.01 1321.59ns
Dynamic observable subscribe specific observer 229.53ns 264.568 0.87 1362.84ns
Dynamic observable subscribe dynamic observer 179.63ns 178.437 1.01 1233.67ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 111.58ns 109.926 1.02 1187.50ns
Dynamic observable subscribe lambda 237.38ns 230.409 1.03 1348.63ns
Specific observable subscribe lambda without subscription 111.59ns 109.494 1.02 1182.50ns
Dynamic observable subscribe lambda without subscription 230.12ns 227.477 1.01 1360.00ns
Specific observable subscribe specific subscriber 30.44ns 30.475 1.00 843.32ns
Dynamic observable subscribe specific subscriber 146.02ns 149.158 0.98 1019.56ns
Specific observable subscribe dynamic observer 30.62ns 30.4614 1.01 882.41ns
Dynamic observable subscribe dynamic observer 78.67ns 78.652 1.00 910.21ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.50ns 1.50447 1.00 1.50ns
Dynamic observer construction 84.90ns 83.0369 1.02 111.75ns
Specific observer construction + as_dynamic 81.98ns 83.4013 0.98 113.16ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.668938 1.00 0.67ns
Dynamic observer OnNext 2.01ns 2.00652 1.00 1.71ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 86.22ns 86.0373 1.00 352.03ns
Make copy of subscriber 16.72ns 16.7311 1.00 31.43ns
Transform subsriber to dynamic 95.37ns 96.7192 0.99 149.81ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 86.10ns 84.5322 1.02 344.92ns
composite_subscription add 71.03ns 71.8039 0.99 163.48ns
composite_subscription unsubscribe 64.26ns 65.5663 0.98 127.98ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 1096.30ns 1093.3 1.00 4546.33ns
sending of values from observable via buffer to subscriber 7.08ns 6.99507 1.01 92.17ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 269.24ns 269.25 1.00 1730.86ns
long stateful chain creation + subscribe 659.65ns 665.167 0.99 3191.50ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1653.20ns 1593.0 1.04 .
sending of values from observable via combine_latest to subscriber 35.57ns 40.8601 0.87 .

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 4062.71ns 4027.29 1.01 10653.00ns
concat_with 4256.50ns 4294.17 0.99 11709.00ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 180.96ns 181.101 1.00 1025.00ns
sending of values from observable via distinct_until_changed to subscriber 3.68ns 3.68071 1.00 4.16ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 220.41ns 219.97 1.00 2623.50ns
sending of values from observable via first to subscriber 2.34ns 2.34507 1.00 1.76ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 63.51ns 62.5514 1.02 2391.64ns
error 111.70ns 111.337 1.00 2474.90ns
never 31.13ns 31.0207 1.00 882.04ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 518.48ns 514.783 1.01 2477.91ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 2.01ns 2.00904 1.00 411.90ns
re-schedule 10 times 97.72ns 107.834 0.91 441.15ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 376.79ns 405.048 0.93 2411.45ns
just send variadic 1307.21ns 1305.89 1.00 2483.00ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 322.06ns 313.466 1.03 1430.18ns
sending of values from observable via last to subscriber 4.37ns 4.37448 1.00 3.33ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 88.36ns 97.2986 0.91 991.12ns
sending of values from observable via map to subscriber 3.98ns 3.99891 1.00 7.52ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 3980.86ns 3956.14 1.01 10985.30ns
merge_with 4148.71ns 4139.17 1.00 11722.70ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 1193.29ns 1222.33 0.98 5731.80ns
sending of values from observable via observe_on to subscriber 200.41ns 200.304 1.00 988.70ns

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 642.05ns 639.421 1.00 1849.15ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 19.79ns 19.9376 0.99 32.71ns
on_error 3.04ns 3.20838 0.95 18.45ns
on_completed 2.70ns 2.70472 1.00 0.68ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 360.24ns 355.048 1.01 683.56ns
get_observable 28.74ns 28.7688 1.00 162.53ns
get_subscriber 50.21ns 50.1911 1.00 93.84ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 6771.80ns 6671.6 1.02 11314.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 182.75ns 182.304 1.00 1245.33ns
sending of values from observable via scan to subscriber 5.42ns 5.43685 1.00 8.87ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 1.87ns 1.8725 1.00 .
mutex lock increment 25.75ns 25.7418 1.00 .
spin-lock increment 9.03ns 9.03662 1.00 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 177.33ns 176.462 1.00 1552.81ns
sending of values from observable via skip to subscriber 3.68ns 3.68036 1.00 3.50ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 4667.00ns 4636.0 1.01 12090.50ns
sending of values from observable via switch_on_next to subscriber 1100.90ns 1085.57 1.01 3168.56ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 225.28ns 224.333 1.00 2150.58ns
sending of values from observable via take to subscriber 5.86ns 5.90785 0.99 6.47ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 331.81ns 325.606 1.02 2475.64ns
sending of values from observable via take_last to subscriber 4.37ns 4.37227 1.00 20.84ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 2305.09ns 2314.73 1.00 5216.40ns
sending of values from observable via take_until to subscriber 11.47ns 11.5115 1.00 5.56ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1683.07ns 1660.79 1.01 5526.00ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 54.67ns 54.6624 1.00 1347.94ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 20.48ns 20.289 1.01 612.64ns
re-schedule 10 times 122.29ns 121.567 1.01 645.62ns
recursively schedule 10 times 2647.90ns 2644.3 1.00 19118.50ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 3650.00ns 3633.29 1.00 9707.67ns
sending of values from observable via window to subscriber 838.57ns 821.419 1.02 1633.12ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 2000.42ns 1990.83 1.00 .
sending of values from observable via with_latest_from to subscriber 27.80ns 27.7723 1.00 .

@sonarqubecloud
Copy link

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
0.0% 0.0% Duplication

@victimsnino victimsnino marked this pull request as ready for review December 25, 2022 20:33
@victimsnino victimsnino merged commit b389d33 into main Dec 25, 2022
@victimsnino victimsnino deleted the improve_doxygen branch December 25, 2022 20:33
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