Skip to content

Qt example#296

Merged
AlexInLog merged 3 commits into
mainfrom
qt_example
Nov 23, 2022
Merged

Qt example#296
AlexInLog merged 3 commits into
mainfrom
qt_example

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@codecov

codecov Bot commented Nov 23, 2022

Copy link
Copy Markdown

Codecov Report

Merging #296 (59faf94) into main (f399044) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #296   +/-   ##
=======================================
  Coverage   98.37%   98.37%           
=======================================
  Files         109      109           
  Lines        1541     1541           
=======================================
  Hits         1516     1516           
  Misses         25       25           
Impacted Files Coverage Δ
...c/rppqt/rppqt/schedulers/main_thread_scheduler.hpp 83.33% <100.00%> (ø)

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

@github-actions

Copy link
Copy Markdown
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.334726 1.00 0.34ns
Dynamic observable construction 29.21ns 29.2199 1.00 24.29ns
Specific observable construction + as_dynamic 29.18ns 29.2228 1.00 24.31ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 88.97ns 88.9326 1.00 294.16ns
Specific observable lift dynamic observer 112.14ns 112.589 1.00 310.76ns
Dynamic observable lift specific observer 170.01ns 169.591 1.00 337.65ns
Dynamic observable lift dynamic observer 174.75ns 175.458 1.00 326.31ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 58.70ns 58.0976 1.01 292.05ns
Specific observable subscribe dynamic observer 71.57ns 71.786 1.00 298.71ns
Dynamic observable subscribe specific observer 124.82ns 124.254 1.00 333.46ns
Dynamic observable subscribe dynamic observer 121.65ns 121.69 1.00 319.99ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 57.91ns 58.0997 1.00 290.72ns
Dynamic observable subscribe lambda 123.92ns 124.213 1.00 327.51ns
Specific observable subscribe lambda without subscription 58.08ns 58.297 1.00 306.83ns
Dynamic observable subscribe lambda without subscription 124.24ns 124.528 1.00 332.18ns
Specific observable subscribe specific subscriber 27.83ns 27.805 1.00 228.15ns
Dynamic observable subscribe specific subscriber 88.65ns 88.6075 1.00 273.68ns
Specific observable subscribe dynamic observer 27.80ns 27.7977 1.00 241.83ns
Dynamic observable subscribe dynamic observer 75.21ns 75.4417 1.00 262.65ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.34ns 0.335421 1.00 0.34ns
Dynamic observer construction 29.14ns 31.9974 0.91 21.61ns
Specific observer construction + as_dynamic 29.18ns 29.1369 1.00 21.34ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.669513 1.00 0.67ns
Dynamic observer OnNext 2.01ns 2.01137 1.00 2.35ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 33.55ns 34.8622 0.96 64.65ns
Make copy of subscriber 17.41ns 16.715 1.04 4.69ns
Transform subsriber to dynamic 44.20ns 43.5005 1.02 26.34ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 36.26ns 34.8653 1.04 53.45ns
composite_subscription add 49.10ns 49.2647 1.00 93.03ns
composite_subscription unsubscribe 43.40ns 43.4572 1.00 23.39ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 243.85ns 244.796 1.00 1812.62ns
sending of values from observable via buffer to subscriber 5.36ns 5.36481 1.00 27.22ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 254.68ns 255.371 1.00 498.72ns
long stateful chain creation + subscribe 376.44ns 374.605 1.00 1455.06ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 868.47ns 866.397 1.00 898.89ns
sending of values from observable via combine_latest to subscriber 27.42ns 27.4631 1.00 1.75ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1851.78ns 1855.52 1.00 3443.05ns
concat_with 2170.46ns 2158.38 1.01 3822.93ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 110.85ns 110.538 1.00 249.09ns
sending of values from observable via distinct_until_changed to subscriber 2.68ns 2.68834 1.00 2.35ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 124.14ns 123.787 1.00 571.97ns
sending of values from observable via first to subscriber 0.67ns 0.66943 1.00 0.67ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 61.79ns 61.6889 1.00 619.97ns
error 112.06ns 111.681 1.00 765.16ns
never 28.69ns 28.7588 1.00 250.44ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 78.04ns 78.2974 1.00 656.01ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.34ns 1.34302 1.00 112.70ns
re-schedule 10 times 11.44ns 11.4588 1.00 143.23ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 62.62ns 62.5925 1.00 630.24ns
just send variadic 95.02ns 94.7294 1.00 739.21ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 165.87ns 166.432 1.00 349.20ns
sending of values from observable via last to subscriber 2.13ns 2.10663 1.01 1.67ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 68.52ns 68.525 1.00 241.31ns
sending of values from observable via map to subscriber 1.34ns 1.34072 1.00 1.51ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1812.91ns 1811.31 1.00 3304.15ns
merge_with 2110.75ns 2108.66 1.00 3661.06ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 425.62ns 426.901 1.00 2590.87ns
sending of values from observable via observe_on to subscriber 61.30ns 61.2922 1.00 199.75ns

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 417.63ns 419.541 1.00 965.12ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 24.07ns 24.1083 1.00 10.70ns
on_error 0.67ns 0.672848 1.00 19.19ns
on_completed 0.67ns 0.674723 1.00 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 195.76ns 189.072 1.04 203.74ns
get_observable 26.43ns 26.4044 1.00 50.18ns
get_subscriber 60.55ns 60.5939 1.00 13.17ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3914.56ns 3921.16 1.00 3034.32ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 100.12ns 100.209 1.00 293.01ns
sending of values from observable via scan to subscriber 2.01ns 2.00963 1.00 2.01ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.02ns 2.01143 1.00 .
mutex lock increment 18.08ns 18.129 1.00 .
spin-lock increment 9.03ns 9.21068 0.98 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 98.50ns 98.6103 1.00 486.65ns
sending of values from observable via skip to subscriber 2.34ns 2.34051 1.00 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 2201.11ns 2202.88 1.00 2825.38ns
sending of values from observable via switch_on_next to subscriber 570.29ns 570.666 1.00 644.88ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 169.57ns 169.238 1.00 482.65ns
sending of values from observable via take to subscriber 2.34ns 2.34661 1.00 3.39ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 209.43ns 210.156 1.00 520.56ns
sending of values from observable via take_last to subscriber 2.69ns 2.69872 1.00 3.78ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1029.92ns 1033.21 1.00 1161.94ns
sending of values from observable via take_until to subscriber 9.04ns 9.0655 1.00 1.84ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 872.79ns 879.795 0.99 18917.00ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 55.84ns 55.8699 1.00 16433.50ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 11.40ns 11.4241 1.00 160.99ns
re-schedule 10 times 32.54ns 32.3297 1.01 189.36ns
recursively schedule 10 times 1406.88ns 1383.93 1.02 7881.72ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 1995.16ns 2003.51 1.00 3141.55ns
sending of values from observable via window to subscriber 545.63ns 548.758 0.99 392.56ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1033.81ns 1025.63 1.01 1145.32ns
sending of values from observable via with_latest_from to subscriber 27.06ns 27.0484 1.00 3.01ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.39ns 0.336362 1.15 0.39ns
Dynamic observable construction 33.79ns 31.5061 1.07 31.17ns
Specific observable construction + as_dynamic 33.30ns 31.5068 1.06 28.64ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 113.22ns 97.6337 1.16 417.58ns
Specific observable lift dynamic observer 142.47ns 126.671 1.12 435.22ns
Dynamic observable lift specific observer 308.12ns 181.287 1.70 483.42ns
Dynamic observable lift dynamic observer 222.30ns 193.421 1.15 434.51ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 65.67ns 60.7882 1.08 388.00ns
Specific observable subscribe dynamic observer 85.57ns 77.2448 1.11 412.77ns
Dynamic observable subscribe specific observer 147.98ns 130.652 1.13 449.83ns
Dynamic observable subscribe dynamic observer 163.50ns 127.491 1.28 475.01ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 80.90ns 60.9857 1.33 392.93ns
Dynamic observable subscribe lambda 148.22ns 130.564 1.14 426.67ns
Specific observable subscribe lambda without subscription 80.10ns 61.0516 1.31 409.39ns
Dynamic observable subscribe lambda without subscription 162.12ns 130.778 1.24 450.64ns
Specific observable subscribe specific subscriber 47.18ns 30.5089 1.55 314.46ns
Dynamic observable subscribe specific subscriber 113.18ns 96.4521 1.17 418.53ns
Specific observable subscribe dynamic observer 41.09ns 30.4889 1.35 340.54ns
Dynamic observable subscribe dynamic observer 98.00ns 85.0005 1.15 345.74ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.39ns 0.335132 1.16 0.37ns
Dynamic observer construction 34.77ns 31.4443 1.11 22.64ns
Specific observer construction + as_dynamic 33.76ns 31.4179 1.07 23.60ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.39ns 0.336904 1.15 0.38ns
Dynamic observer OnNext 2.29ns 2.0075 1.14 2.27ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 38.95ns 34.7442 1.12 71.45ns
Make copy of subscriber 20.74ns 16.7204 1.24 5.54ns
Transform subsriber to dynamic 48.00ns 44.4698 1.08 28.19ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 39.12ns 34.4443 1.14 68.15ns
composite_subscription add 56.28ns 49.2554 1.14 85.70ns
composite_subscription unsubscribe 169.41ns 41.751 4.06 24.73ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 275.91ns 234.576 1.18 2244.22ns
sending of values from observable via buffer to subscriber 7.74ns 6.38967 1.21 35.50ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 336.49ns 288.304 1.17 881.84ns
long stateful chain creation + subscribe 493.19ns 425.761 1.16 1800.46ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1074.52ns 914.241 1.18 1368.55ns
sending of values from observable via combine_latest to subscriber 37.24ns 28.4688 1.31 1.92ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2366.29ns 1915.51 1.24 4844.14ns
concat_with 2612.59ns 2257.44 1.16 4662.44ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 139.67ns 120.162 1.16 444.25ns
sending of values from observable via distinct_until_changed to subscriber 3.21ns 2.70756 1.19 2.48ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 167.22ns 138.052 1.21 873.46ns
sending of values from observable via first to subscriber 0.76ns 1.34178 0.57 0.57ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 80.09ns 67.3747 1.19 906.66ns
error 135.25ns 118.638 1.14 1025.88ns
never 36.90ns 32.3486 1.14 333.50ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 99.51ns 85.9514 1.16 927.92ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 0.92ns 1.34311 0.69 151.13ns
re-schedule 10 times 20.60ns 22.4787 0.92 188.10ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 81.39ns 70.8478 1.15 902.97ns
just send variadic 128.64ns 111.102 1.16 970.66ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 209.73ns 175.942 1.19 523.63ns
sending of values from observable via last to subscriber 3.70ns 2.67643 1.38 1.56ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 99.69ns 83.6244 1.19 398.48ns
sending of values from observable via map to subscriber 0.91ns 0.75455 1.20 1.73ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2138.34ns 1853.58 1.15 4502.16ns
merge_with 2580.26ns 2203.16 1.17 4963.44ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 532.79ns 468.604 1.14 3344.51ns
sending of values from observable via observe_on to subscriber 105.51ns 64.847 1.63 278.14ns

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 513.53ns 435.795 1.18 998.38ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 25.72ns 22.4133 1.15 11.34ns
on_error 0.77ns 0.675472 1.14 19.81ns
on_completed 0.78ns 0.673359 1.16 0.76ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 243.71ns 207.64 1.17 204.13ns
get_observable 32.08ns 29.4034 1.09 51.76ns
get_subscriber 60.57ns 57.2197 1.06 25.94ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4818.29ns 4129.91 1.17 3729.34ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 131.64ns 115.57 1.14 458.44ns
sending of values from observable via scan to subscriber 2.35ns 1.69595 1.39 1.92ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.54ns 2.00831 1.27 .
mutex lock increment 24.18ns 18.3545 1.32 .
spin-lock increment 13.28ns 9.0489 1.47 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 128.66ns 114.599 1.12 625.85ns
sending of values from observable via skip to subscriber 2.80ns 2.3572 1.19 2.26ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2685.28ns 2329.02 1.15 5195.18ns
sending of values from observable via switch_on_next to subscriber 704.30ns 600.145 1.17 2601.80ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 194.50ns 175.06 1.11 723.27ns
sending of values from observable via take to subscriber 4.38ns 3.50045 1.25 4.64ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 244.33ns 206.107 1.19 825.95ns
sending of values from observable via take_last to subscriber 3.76ns 3.03971 1.24 7.49ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1267.39ns 1074.05 1.18 2047.71ns
sending of values from observable via take_until to subscriber 13.47ns 10.7284 1.26 2.17ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1075.97ns 940.654 1.14 9562.13ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 64.36ns 58.1919 1.11 9655.30ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 25.87ns 23.0693 1.12 208.48ns
re-schedule 10 times 61.06ns 51.122 1.19 254.66ns
recursively schedule 10 times 1712.95ns 1448.58 1.18 9060.52ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2415.24ns 2124.54 1.14 3913.12ns
sending of values from observable via window to subscriber 756.12ns 590.73 1.28 511.18ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1372.23ns 1087.69 1.26 1786.27ns
sending of values from observable via with_latest_from to subscriber 36.41ns 26.7767 1.36 4.61ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.50ns 1.33519 1.13 0.67ns
Dynamic observable construction 83.41ns 72.1505 1.16 122.72ns
Specific observable construction + as_dynamic 81.11ns 73.4365 1.10 123.33ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 165.32ns 127.327 1.30 1264.48ns
Specific observable lift dynamic observer 177.84ns 157.971 1.13 1305.60ns
Dynamic observable lift specific observer 287.53ns 253.918 1.13 1454.39ns
Dynamic observable lift dynamic observer 237.09ns 236.794 1.00 1429.68ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 109.59ns 97.3077 1.13 1203.86ns
Specific observable subscribe dynamic observer 130.51ns 130.735 1.00 1242.86ns
Dynamic observable subscribe specific observer 231.50ns 230.4 1.00 1386.89ns
Dynamic observable subscribe dynamic observer 175.94ns 157.385 1.12 1270.90ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 111.02ns 111.837 0.99 1194.32ns
Dynamic observable subscribe lambda 227.18ns 228.698 0.99 1391.53ns
Specific observable subscribe lambda without subscription 110.97ns 97.9037 1.13 1225.05ns
Dynamic observable subscribe lambda without subscription 228.41ns 228.667 1.00 1395.00ns
Specific observable subscribe specific subscriber 34.03ns 26.9129 1.26 878.21ns
Dynamic observable subscribe specific subscriber 147.64ns 150.356 0.98 1058.68ns
Specific observable subscribe dynamic observer 31.03ns 30.4672 1.02 918.32ns
Dynamic observable subscribe dynamic observer 79.05ns 69.7295 1.13 951.22ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 1.51ns 1.50409 1.00 1.50ns
Dynamic observer construction 83.30ns 83.0805 1.00 113.99ns
Specific observer construction + as_dynamic 83.24ns 95.7867 0.87 114.33ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.573022 1.17 0.67ns
Dynamic observer OnNext 2.01ns 2.0076 1.00 2.01ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 84.06ns 74.0542 1.14 353.92ns
Make copy of subscriber 17.23ns 16.7141 1.03 33.76ns
Transform subsriber to dynamic 110.28ns 86.1312 1.28 152.92ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 84.04ns 74.2962 1.13 346.20ns
composite_subscription add 71.00ns 63.4774 1.12 153.90ns
composite_subscription unsubscribe 64.35ns 58.4007 1.10 126.38ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 353.35ns 351.161 1.01 4473.17ns
sending of values from observable via buffer to subscriber 7.26ns 6.25282 1.16 91.78ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 269.57ns 236.932 1.14 1772.79ns
long stateful chain creation + subscribe 661.56ns 581.59 1.14 3229.25ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1646.40ns 1605.5 1.03 3050.38ns
sending of values from observable via combine_latest to subscriber 48.13ns 47.1516 1.02 4.51ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2754.20ns 2426.78 1.13 10761.70ns
concat_with 3407.12ns 4105.88 0.83 11737.70ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 185.55ns 184.626 1.01 1063.08ns
sending of values from observable via distinct_until_changed to subscriber 4.58ns 4.4372 1.03 3.90ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 128.03ns 132.223 0.97 2666.00ns
sending of values from observable via first to subscriber 2.35ns 2.34791 1.00 1.74ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 63.80ns 63.1771 1.01 2428.40ns
error 113.32ns 118.114 0.96 2547.80ns
never 30.51ns 31.815 0.96 919.62ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 134.35ns 135.0 1.00 2515.40ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 2.01ns 1.54062 1.30 407.95ns
re-schedule 10 times 97.94ns 86.446 1.13 434.54ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 65.72ns 58.184 1.13 2457.10ns
just send variadic 102.67ns 103.128 1.00 2495.80ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 223.02ns 197.68 1.13 1460.59ns
sending of values from observable via last to subscriber 3.20ns 3.19703 1.00 3.31ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 87.79ns 88.4691 0.99 1033.32ns
sending of values from observable via map to subscriber 3.51ns 3.51213 1.00 7.47ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2648.90ns 2350.6 1.13 11145.00ns
merge_with 3841.62ns 3312.67 1.16 11835.00ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 626.26ns 555.194 1.13 6193.40ns
sending of values from observable via observe_on to subscriber 64.55ns 52.9506 1.22 787.94ns

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 639.51ns 558.243 1.15 1899.50ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 19.74ns 17.5543 1.12 32.45ns
on_error 2.82ns 2.44627 1.15 18.37ns
on_completed 3.04ns 2.68064 1.13 1.36ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 355.74ns 315.726 1.13 613.77ns
get_observable 29.02ns 23.0744 1.26 161.94ns
get_subscriber 50.50ns 44.7119 1.13 105.93ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 6002.00ns 5373.25 1.12 11294.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 187.47ns 182.878 1.03 1280.53ns
sending of values from observable via scan to subscriber 5.43ns 4.75422 1.14 9.65ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 1.88ns 2.16717 0.87 .
mutex lock increment 25.76ns 25.7656 1.00 .
spin-lock increment 9.04ns 7.97412 1.13 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 179.23ns 176.71 1.01 1550.47ns
sending of values from observable via skip to subscriber 3.35ns 2.96701 1.13 4.20ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3549.88ns 3124.57 1.14 12122.00ns
sending of values from observable via switch_on_next to subscriber 904.40ns 762.138 1.19 3110.67ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 225.84ns 197.022 1.15 2185.25ns
sending of values from observable via take to subscriber 5.56ns 5.19453 1.07 6.19ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 323.87ns 322.747 1.00 2476.30ns
sending of values from observable via take_last to subscriber 4.28ns 5.03471 0.85 20.71ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1576.75ns 1580.18 1.00 5295.40ns
sending of values from observable via take_until to subscriber 11.41ns 11.6128 0.98 5.36ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1290.76ns 1181.94 1.09 6236.25ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 54.89ns 49.3492 1.11 1383.60ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 19.12ns 19.0977 1.00 620.95ns
re-schedule 10 times 121.57ns 107.765 1.13 646.62ns
recursively schedule 10 times 2637.60ns 2324.6 1.13 19078.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2946.00ns 2932.89 1.00 9645.00ns
sending of values from observable via window to subscriber 839.58ns 893.5 0.94 1626.50ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 2010.25ns 1754.0 1.15 3750.83ns
sending of values from observable via with_latest_from to subscriber 38.40ns 33.605 1.14 6.84ns

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

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)

#include <QMainWindow>
#include <QVBoxLayout>

int main(int argc, char* argv[])

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ bugprone-exception-escape ⚠️
an exception may be thrown in function main which should not throw exceptions

@sonarqubecloud

Copy link
Copy Markdown

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

@AlexInLog AlexInLog merged commit 708f1f9 into main Nov 23, 2022
@AlexInLog AlexInLog deleted the qt_example branch November 23, 2022 21:06
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