Skip to content

Commit

Permalink
Update sonarcloud_analyze.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
victimsnino authored Nov 17, 2022
1 parent 559757b commit fc3b44b
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/sonarcloud_analyze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ jobs:
repository: ${{ github.event.workflow_run.head_repository.full_name }}
ref: ${{ github.event.workflow_run.head_branch }}

- name: Install Qt
uses: jurplel/install-qt-action@v3

- name: Cmake
run: cmake -S . -B build -DRPP_BUILD_TESTS=1 -DRPP_BUILD_QT_CODE=1

Expand Down

1 comment on commit fc3b44b

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

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.401492 0.83 0.34ns
Dynamic observable construction 29.14ns 28.7514 1.01 24.29ns
Specific observable construction + as_dynamic 29.11ns 31.3944 0.93 24.31ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 88.91ns 92.7556 0.96 293.74ns
Specific observable lift dynamic observer 111.57ns 118.159 0.94 309.56ns
Dynamic observable lift specific observer 170.78ns 171.829 0.99 334.13ns
Dynamic observable lift dynamic observer 177.61ns 188.333 0.94 324.62ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 57.94ns 57.2681 1.01 288.90ns
Specific observable subscribe dynamic observer 71.56ns 73.9239 0.97 299.55ns
Dynamic observable subscribe specific observer 125.03ns 122.462 1.02 330.61ns
Dynamic observable subscribe dynamic observer 123.88ns 126.127 0.98 314.37ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 58.03ns 56.3831 1.03 290.39ns
Dynamic observable subscribe lambda 124.05ns 120.631 1.03 325.54ns
Specific observable subscribe lambda without subscription 58.03ns 56.3447 1.03 288.06ns
Dynamic observable subscribe lambda without subscription 124.20ns 121.162 1.03 328.03ns
Specific observable subscribe specific subscriber 27.80ns 25.344 1.10 240.24ns
Dynamic observable subscribe specific subscriber 88.64ns 88.2282 1.00 270.69ns
Specific observable subscribe dynamic observer 27.78ns 25.3673 1.09 241.08ns
Dynamic observable subscribe dynamic observer 77.33ns 77.3604 1.00 263.04ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.33ns 0.402156 0.83 0.34ns
Dynamic observer construction 29.13ns 28.5937 1.02 21.68ns
Specific observer construction + as_dynamic 29.16ns 28.5762 1.02 21.38ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.442044 1.52 0.67ns
Dynamic observer OnNext 2.01ns 2.00552 1.00 2.35ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 34.91ns 33.2492 1.05 64.63ns
Make copy of subscriber 16.74ns 16.0548 1.04 4.73ns
Transform subsriber to dynamic 43.55ns 44.6258 0.98 26.00ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 34.81ns 33.4345 1.04 52.48ns
composite_subscription add 47.48ns 53.9458 0.88 90.16ns
composite_subscription unsubscribe 43.46ns 44.3561 0.98 23.59ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 246.51ns 242.245 1.02 1869.28ns
sending of values from observable via buffer to subscriber 5.35ns 4.82945 1.11 27.61ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 254.71ns 279.717 0.91 497.48ns
long stateful chain creation + subscribe 376.34ns 401.843 0.94 1732.47ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 866.08ns 907.026 0.95 896.62ns
sending of values from observable via combine_latest to subscriber 27.44ns 34.1018 0.80 1.75ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1867.40ns 1949.32 0.96 3250.89ns
concat_with 2162.12ns 2298.14 0.94 3708.87ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 110.71ns 111.84 0.99 246.96ns
sending of values from observable via distinct_until_changed to subscriber 2.68ns 2.40685 1.11 2.35ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 124.27ns 135.061 0.92 574.59ns
sending of values from observable via first to subscriber 0.67ns 0.804489 0.83 0.67ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 61.82ns 64.2702 0.96 651.34ns
error 112.16ns 113.115 0.99 746.58ns
never 28.70ns 26.1903 1.10 249.59ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 79.80ns 77.127 1.03 658.51ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.34ns 0.649474 2.06 112.85ns
re-schedule 10 times 11.47ns 10.8366 1.06 143.73ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 65.07ns 65.739 0.99 627.87ns
just send variadic 94.83ns 88.1744 1.08 765.78ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 169.00ns 169.782 1.00 350.16ns
sending of values from observable via last to subscriber 2.13ns 2.07278 1.03 1.68ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 68.65ns 76.795 0.89 240.03ns
sending of values from observable via map to subscriber 1.34ns 0.818212 1.64 1.51ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1818.16ns 1892.62 0.96 3282.89ns
merge_with 2106.38ns 2238.3 0.94 3637.98ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 426.38ns 465.638 0.92 2935.62ns
sending of values from observable via observe_on to subscriber 61.36ns 74.6277 0.82 200.89ns

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 421.93ns 433.875 0.97 1150.73ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 24.14ns 30.7788 0.78 10.73ns
on_error 0.67ns 0.607556 1.11 19.14ns
on_completed 0.67ns 0.607556 1.11 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 195.62ns 206.883 0.95 178.21ns
get_observable 26.43ns 33.793 0.78 51.68ns
get_subscriber 60.50ns 66.8886 0.90 13.23ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3883.35ns 4179.7 0.93 3073.17ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 100.39ns 107.147 0.94 293.88ns
sending of values from observable via scan to subscriber 2.01ns 2.00964 1.00 2.01ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.02ns 3.11584 0.65 .
mutex lock increment 18.05ns 22.1067 0.82 .
spin-lock increment 15.71ns 10.4444 1.50 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 98.88ns 105.103 0.94 494.39ns
sending of values from observable via skip to subscriber 2.34ns 2.40996 0.97 1.78ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2194.77ns 2348.06 0.93 2855.38ns
sending of values from observable via switch_on_next to subscriber 569.00ns 611.286 0.93 775.51ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 169.67ns 181.911 0.93 482.70ns
sending of values from observable via take to subscriber 2.35ns 2.27215 1.03 3.36ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 210.33ns 213.514 0.99 518.88ns
sending of values from observable via take_last to subscriber 2.69ns 3.28044 0.82 3.75ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1029.90ns 1073.42 0.96 1164.51ns
sending of values from observable via take_until to subscriber 9.04ns 10.4538 0.86 1.84ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 868.03ns 903.481 0.96 25023.20ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 55.81ns 59.1664 0.94 27837.70ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 12.01ns 9.69588 1.24 161.06ns
re-schedule 10 times 32.53ns 26.5895 1.22 188.36ns
recursively schedule 10 times 1450.72ns 1358.66 1.07 8683.23ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 1991.93ns 2160.21 0.92 3140.82ns
sending of values from observable via window to subscriber 541.10ns 581.778 0.93 367.55ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1016.06ns 1056.12 0.96 1157.98ns
sending of values from observable via with_latest_from to subscriber 27.05ns 29.3926 0.92 3.01ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.556686 0.72 0.40ns
Dynamic observable construction 37.93ns 36.2263 1.05 27.05ns
Specific observable construction + as_dynamic 37.07ns 37.8266 0.98 28.44ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 117.58ns 117.621 1.00 412.96ns
Specific observable lift dynamic observer 152.22ns 151.893 1.00 423.90ns
Dynamic observable lift specific observer 218.02ns 194.319 1.12 496.74ns
Dynamic observable lift dynamic observer 231.24ns 219.335 1.05 442.86ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 72.53ns 69.848 1.04 398.12ns
Specific observable subscribe dynamic observer 93.06ns 91.3813 1.02 395.48ns
Dynamic observable subscribe specific observer 156.99ns 156.57 1.00 452.78ns
Dynamic observable subscribe dynamic observer 152.54ns 148.005 1.03 418.34ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 72.15ns 72.977 0.99 399.86ns
Dynamic observable subscribe lambda 148.61ns 156.89 0.95 448.69ns
Specific observable subscribe lambda without subscription 73.01ns 73.2342 1.00 406.80ns
Dynamic observable subscribe lambda without subscription 156.70ns 150.496 1.04 452.11ns
Specific observable subscribe specific subscriber 36.85ns 36.2689 1.02 323.11ns
Dynamic observable subscribe specific subscriber 116.29ns 103.575 1.12 381.74ns
Specific observable subscribe dynamic observer 36.54ns 35.9837 1.02 331.39ns
Dynamic observable subscribe dynamic observer 98.48ns 99.992 0.98 344.81ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.38ns 0.40191 0.96 0.40ns
Dynamic observer construction 37.96ns 37.8035 1.00 25.26ns
Specific observer construction + as_dynamic 37.75ns 36.9578 1.02 24.43ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.40ns 0.392093 1.02 0.40ns
Dynamic observer OnNext 2.41ns 2.3872 1.01 2.10ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 41.38ns 40.6749 1.02 76.77ns
Make copy of subscriber 20.23ns 16.0384 1.26 5.40ns
Transform subsriber to dynamic 53.18ns 39.5563 1.34 30.30ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 42.43ns 42.1827 1.01 70.51ns
composite_subscription add 58.70ns 55.5685 1.06 109.49ns
composite_subscription unsubscribe 50.46ns 46.7814 1.08 25.87ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 280.87ns 282.617 0.99 2316.97ns
sending of values from observable via buffer to subscriber 7.26ns 7.25017 1.00 38.21ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 344.71ns 314.768 1.10 832.99ns
long stateful chain creation + subscribe 511.24ns 500.447 1.02 2066.26ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1110.19ns 1067.25 1.04 1320.43ns
sending of values from observable via combine_latest to subscriber 33.95ns 30.2151 1.12 2.84ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2334.47ns 2288.7 1.02 4131.28ns
concat_with 2616.61ns 2725.78 0.96 4507.81ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 144.72ns 145.634 0.99 423.28ns
sending of values from observable via distinct_until_changed to subscriber 3.28ns 3.36331 0.98 2.82ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 166.01ns 165.449 1.00 861.28ns
sending of values from observable via first to subscriber 1.61ns 1.61185 1.00 1.21ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 80.81ns 75.2605 1.07 916.72ns
error 139.18ns 127.821 1.09 1007.65ns
never 38.61ns 35.8007 1.08 340.59ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 101.99ns 102.323 1.00 893.65ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.61ns 1.31546 1.22 155.75ns
re-schedule 10 times 18.44ns 18.3651 1.00 199.88ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 84.95ns 84.9061 1.00 904.76ns
just send variadic 130.80ns 131.814 0.99 991.96ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 211.00ns 207.221 1.02 533.63ns
sending of values from observable via last to subscriber 2.77ns 2.77805 1.00 1.59ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 98.48ns 98.4402 1.00 488.08ns
sending of values from observable via map to subscriber 0.90ns 0.905679 1.00 3.22ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2278.53ns 2228.44 1.02 4457.85ns
merge_with 2722.35ns 2668.37 1.02 4753.33ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 567.45ns 567.383 1.00 3321.30ns
sending of values from observable via observe_on to subscriber 83.33ns 83.6269 1.00 286.89ns

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 524.54ns 530.215 0.99 978.10ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 26.91ns 27.0111 1.00 13.09ns
on_error 0.81ns 0.810751 1.00 20.19ns
on_completed 0.81ns 0.789856 1.03 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 256.90ns 257.437 1.00 213.83ns
get_observable 35.39ns 33.7071 1.05 59.33ns
get_subscriber 69.01ns 67.203 1.03 27.77ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4901.69ns 4949.06 0.99 3660.56ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 138.95ns 131.188 1.06 464.92ns
sending of values from observable via scan to subscriber 2.30ns 2.42785 0.95 2.01ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.41ns 2.32074 1.04 .
mutex lock increment 21.72ns 18.6251 1.17 .
spin-lock increment 11.12ns 10.8886 1.02 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 137.15ns 132.19 1.04 645.88ns
sending of values from observable via skip to subscriber 3.20ns 3.16579 1.01 2.83ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2800.12ns 2774.24 1.01 5054.08ns
sending of values from observable via switch_on_next to subscriber 719.05ns 729.349 0.99 1328.39ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 205.35ns 206.252 1.00 714.43ns
sending of values from observable via take to subscriber 4.21ns 4.95806 0.85 4.14ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 255.19ns 248.521 1.03 735.49ns
sending of values from observable via take_last to subscriber 4.04ns 4.03971 1.00 7.49ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1260.05ns 1285.68 0.98 2007.87ns
sending of values from observable via take_until to subscriber 10.85ns 10.8289 1.00 2.06ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1149.81ns 1118.87 1.03 18806.70ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 72.51ns 69.212 1.05 16577.90ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 25.33ns 25.005 1.01 222.82ns
re-schedule 10 times 60.03ns 60.2973 1.00 265.94ns
recursively schedule 10 times 1740.93ns 1628.28 1.07 10251.10ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2464.82ns 2554.15 0.97 3867.86ns
sending of values from observable via window to subscriber 713.77ns 709.082 1.01 507.18ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1311.39ns 1314.36 1.00 1743.79ns
sending of values from observable via with_latest_from to subscriber 32.15ns 31.0465 1.04 5.53ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.50ns 2.00979 0.75 0.67ns
Dynamic observable construction 81.07ns 71.9308 1.13 122.97ns
Specific observable construction + as_dynamic 84.41ns 71.7275 1.18 123.03ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 143.75ns 136.077 1.06 1251.29ns
Specific observable lift dynamic observer 176.78ns 169.579 1.04 1288.15ns
Dynamic observable lift specific observer 284.91ns 267.688 1.06 1432.39ns
Dynamic observable lift dynamic observer 235.40ns 246.038 0.96 1344.00ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 110.71ns 102.536 1.08 1211.18ns
Specific observable subscribe dynamic observer 130.14ns 116.967 1.11 1223.05ns
Dynamic observable subscribe specific observer 230.26ns 210.585 1.09 1390.68ns
Dynamic observable subscribe dynamic observer 177.78ns 169.924 1.05 1279.90ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 111.04ns 103.609 1.07 1205.09ns
Dynamic observable subscribe lambda 230.34ns 207.763 1.11 1371.26ns
Specific observable subscribe lambda without subscription 120.28ns 103.618 1.16 1197.36ns
Dynamic observable subscribe lambda without subscription 230.03ns 207.874 1.11 1385.47ns
Specific observable subscribe specific subscriber 30.43ns 26.4909 1.15 864.43ns
Dynamic observable subscribe specific subscriber 147.66ns 132.725 1.11 1049.88ns
Specific observable subscribe dynamic observer 33.44ns 26.486 1.26 893.62ns
Dynamic observable subscribe dynamic observer 78.62ns 78.7611 1.00 931.18ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.50ns 2.00505 0.75 1.50ns
Dynamic observer construction 113.56ns 72.6618 1.56 113.46ns
Specific observer construction + as_dynamic 83.30ns 72.3815 1.15 113.67ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.802786 0.83 0.67ns
Dynamic observer OnNext 2.02ns 2.00734 1.01 2.01ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 84.04ns 72.8537 1.15 357.03ns
Make copy of subscriber 16.72ns 16.0471 1.04 33.78ns
Transform subsriber to dynamic 97.56ns 86.5719 1.13 152.71ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 83.89ns 71.7201 1.17 346.55ns
composite_subscription add 68.65ns 70.9183 0.97 152.64ns
composite_subscription unsubscribe 61.94ns 62.9668 0.98 133.83ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 351.80ns 344.103 1.02 4478.33ns
sending of values from observable via buffer to subscriber 7.25ns 7.49357 0.97 92.49ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 269.78ns 295.025 0.91 1773.50ns
long stateful chain creation + subscribe 655.73ns 666.811 0.98 3190.12ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1594.62ns 1524.27 1.05 3018.62ns
sending of values from observable via combine_latest to subscriber 47.66ns 47.7414 1.00 4.46ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2732.60ns 2672.9 1.02 10653.00ns
concat_with 3418.75ns 3375.75 1.01 11661.70ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 183.62ns 177.077 1.04 1040.92ns
sending of values from observable via distinct_until_changed to subscriber 4.38ns 3.21178 1.36 3.90ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 127.80ns 137.536 0.93 2627.30ns
sending of values from observable via first to subscriber 2.34ns 2.53338 0.93 1.76ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 63.51ns 63.1988 1.00 2406.00ns
error 112.83ns 118.67 0.95 2517.50ns
never 30.81ns 27.5327 1.12 896.60ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 135.36ns 122.136 1.11 2492.70ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 2.01ns 1.43901 1.40 409.77ns
re-schedule 10 times 97.81ns 130.157 0.75 436.05ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 65.75ns 66.9071 0.98 2436.55ns
just send variadic 102.62ns 100.178 1.02 2474.30ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 223.07ns 220.118 1.01 1444.53ns
sending of values from observable via last to subscriber 3.63ns 3.13613 1.16 3.32ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 87.69ns 94.0574 0.93 1047.65ns
sending of values from observable via map to subscriber 3.51ns 3.59421 0.98 6.97ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2667.70ns 2616.9 1.02 11021.70ns
merge_with 3315.88ns 3353.38 0.99 13412.00ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 624.10ns 651.895 0.96 5556.20ns
sending of values from observable via observe_on to subscriber 65.17ns 61.1625 1.07 859.85ns

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 636.59ns 1295.54 0.49 1824.23ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 19.96ns 22.756 0.88 32.77ns
on_error 2.81ns 2.61571 1.08 18.53ns
on_completed 3.03ns 2.92874 1.04 1.36ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 355.55ns 340.906 1.04 617.97ns
get_observable 26.10ns 30.9698 0.84 163.05ns
get_subscriber 50.17ns 61.4548 0.82 92.30ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 6001.40ns 5950.2 1.01 11330.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 182.21ns 166.228 1.10 1258.52ns
sending of values from observable via scan to subscriber 5.39ns 5.643 0.95 9.39ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 1.89ns 2.96951 0.64 .
mutex lock increment 25.80ns 26.2667 0.98 .
spin-lock increment 9.04ns 12.8508 0.70 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 177.08ns 166.919 1.06 1552.00ns
sending of values from observable via skip to subscriber 3.36ns 3.22229 1.04 4.25ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3494.50ns 3440.86 1.02 12008.00ns
sending of values from observable via switch_on_next to subscriber 853.26ns 844.793 1.01 3107.33ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 224.03ns 224.196 1.00 2190.50ns
sending of values from observable via take to subscriber 5.95ns 5.52363 1.08 6.26ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 323.24ns 314.534 1.03 2563.36ns
sending of values from observable via take_last to subscriber 4.25ns 4.3997 0.97 20.37ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1584.00ns 1534.24 1.03 5280.80ns
sending of values from observable via take_until to subscriber 13.24ns 12.528 1.06 5.31ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1279.29ns 1259.62 1.02 5492.75ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 55.29ns 58.5603 0.94 1362.47ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 18.78ns 20.3547 0.92 618.26ns
re-schedule 10 times 121.89ns 143.888 0.85 641.10ns
recursively schedule 10 times 2622.00ns 2523.14 1.04 19054.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2925.89ns 2936.22 1.00 9646.00ns
sending of values from observable via window to subscriber 831.19ns 826.733 1.01 1625.00ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1971.08ns 1853.17 1.06 3744.00ns
sending of values from observable via with_latest_from to subscriber 38.36ns 37.3871 1.03 6.75ns

Please sign in to comment.