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

Qt release #294

Merged
merged 3 commits into from
Nov 22, 2022
Merged

Qt release #294

merged 3 commits into from
Nov 22, 2022

Conversation

victimsnino
Copy link
Owner

@victimsnino victimsnino commented Nov 22, 2022

@codecov
Copy link

codecov bot commented Nov 22, 2022

Codecov Report

Merging #294 (d2b5fa5) into main (251f885) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #294   +/-   ##
=======================================
  Coverage   98.37%   98.37%           
=======================================
  Files         109      109           
  Lines        1541     1541           
=======================================
  Hits         1516     1516           
  Misses         25       25           

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

@github-actions
Copy link
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-clang

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.34ns 0.332683 1.01 0.34ns
Dynamic observable construction 29.16ns 31.2543 0.93 24.28ns
Specific observable construction + as_dynamic 29.15ns 29.3961 0.99 24.44ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 89.06ns 91.8262 0.97 289.35ns
Specific observable lift dynamic observer 110.83ns 123.355 0.90 306.56ns
Dynamic observable lift specific observer 171.76ns 164.108 1.05 335.22ns
Dynamic observable lift dynamic observer 175.11ns 171.284 1.02 322.11ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 58.11ns 54.3351 1.07 287.68ns
Specific observable subscribe dynamic observer 71.45ns 73.3917 0.97 295.85ns
Dynamic observable subscribe specific observer 125.32ns 127.365 0.98 329.13ns
Dynamic observable subscribe dynamic observer 121.53ns 131.894 0.92 314.30ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 58.10ns 63.7169 0.91 286.57ns
Dynamic observable subscribe lambda 124.02ns 126.596 0.98 356.89ns
Specific observable subscribe lambda without subscription 58.10ns 59.0919 0.98 287.29ns
Dynamic observable subscribe lambda without subscription 124.97ns 146.513 0.85 327.35ns
Specific observable subscribe specific subscriber 27.79ns 29.3024 0.95 223.60ns
Dynamic observable subscribe specific subscriber 88.73ns 104.086 0.85 268.93ns
Specific observable subscribe dynamic observer 27.76ns 26.9603 1.03 238.35ns
Dynamic observable subscribe dynamic observer 75.47ns 82.7412 0.91 257.97ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.34ns 0.312346 1.07 0.34ns
Dynamic observer construction 29.20ns 41.0211 0.71 21.35ns
Specific observer construction + as_dynamic 29.26ns 29.7216 0.98 21.34ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.681336 0.99 0.67ns
Dynamic observer OnNext 2.01ns 2.22554 0.90 2.35ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 34.92ns 36.1499 0.97 64.70ns
Make copy of subscriber 16.74ns 17.9751 0.93 4.70ns
Transform subsriber to dynamic 43.56ns 43.1234 1.01 26.09ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 34.90ns 41.9592 0.83 52.27ns
composite_subscription add 49.24ns 53.1371 0.93 91.31ns
composite_subscription unsubscribe 43.36ns 50.1283 0.86 23.39ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 244.69ns 238.645 1.03 1824.79ns
sending of values from observable via buffer to subscriber 5.36ns 5.10966 1.05 27.44ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 255.22ns 263.281 0.97 499.87ns
long stateful chain creation + subscribe 373.68ns 429.307 0.87 1559.76ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 865.88ns 928.592 0.93 793.29ns
sending of values from observable via combine_latest to subscriber 27.51ns 27.4581 1.00 1.75ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 1874.49ns 1813.14 1.03 3359.55ns
concat_with 2159.89ns 1914.58 1.13 3699.16ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 110.80ns 112.48 0.99 247.66ns
sending of values from observable via distinct_until_changed to subscriber 2.68ns 2.62864 1.02 2.34ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 123.30ns 119.489 1.03 583.37ns
sending of values from observable via first to subscriber 0.67ns 0.527458 1.27 0.67ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 61.57ns 70.6257 0.87 619.34ns
error 111.68ns 117.606 0.95 747.81ns
never 28.67ns 31.3548 0.91 249.79ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 77.58ns 70.5018 1.10 657.29ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.34ns 0.533228 2.52 112.23ns
re-schedule 10 times 11.45ns 8.87774 1.29 143.58ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 62.76ns 71.751 0.87 629.67ns
just send variadic 94.94ns 103.781 0.91 738.08ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 166.14ns 154.495 1.08 354.94ns
sending of values from observable via last to subscriber 2.10ns 2.23149 0.94 1.68ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 68.69ns 70.3187 0.98 241.89ns
sending of values from observable via map to subscriber 1.34ns 0.90955 1.47 1.54ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1807.55ns 1727.61 1.05 3287.64ns
merge_with 2104.76ns 2217.86 0.95 3572.05ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 427.85ns 427.207 1.00 2641.12ns
sending of values from observable via observe_on to subscriber 61.39ns 53.1553 1.15 199.93ns

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.75ns 582.616 0.72 1065.35ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 24.09ns 23.2791 1.03 10.76ns
on_error 0.68ns 0.550479 1.23 19.19ns
on_completed 0.68ns 0.674373 1.00 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 188.55ns 211.024 0.89 176.72ns
get_observable 26.44ns 34.4185 0.77 50.28ns
get_subscriber 64.04ns 74.0614 0.86 13.15ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 3922.17ns 4169.46 0.94 3019.77ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 100.24ns 113.449 0.88 293.24ns
sending of values from observable via scan to subscriber 2.01ns 2.13178 0.94 2.01ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.02ns 2.94781 0.68 .
mutex lock increment 18.09ns 21.7501 0.83 .
spin-lock increment 9.03ns 11.1772 0.81 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 98.79ns 90.5415 1.09 468.55ns
sending of values from observable via skip to subscriber 2.34ns 2.14315 1.09 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.82ns 2398.6 0.92 2956.03ns
sending of values from observable via switch_on_next to subscriber 573.97ns 628.196 0.91 647.40ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 168.68ns 157.891 1.07 486.26ns
sending of values from observable via take to subscriber 2.35ns 2.18048 1.08 3.39ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 209.41ns 261.666 0.80 522.13ns
sending of values from observable via take_last to subscriber 2.75ns 2.79853 0.98 3.78ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1025.01ns 1019.77 1.01 1164.01ns
sending of values from observable via take_until to subscriber 9.04ns 10.6992 0.84 1.84ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 873.65ns 1064.94 0.82 19304.40ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 56.01ns 43.8459 1.28 18207.60ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 12.40ns 11.9395 1.04 161.22ns
re-schedule 10 times 32.51ns 30.4369 1.07 188.24ns
recursively schedule 10 times 1382.61ns 1662.89 0.83 7878.70ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2011.36ns 1806.61 1.11 3122.64ns
sending of values from observable via window to subscriber 546.61ns 480.476 1.14 365.70ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1022.05ns 1184.15 0.86 1113.92ns
sending of values from observable via with_latest_from to subscriber 27.06ns 36.4164 0.74 4.43ns

ci-ubuntu-gcc

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.401592 1.00 0.40ns
Dynamic observable construction 28.89ns 37.5714 0.77 23.03ns
Specific observable construction + as_dynamic 28.85ns 38.3492 0.75 21.94ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 95.85ns 117.395 0.82 341.24ns
Specific observable lift dynamic observer 128.99ns 152.369 0.85 360.97ns
Dynamic observable lift specific observer 188.16ns 210.08 0.90 427.10ns
Dynamic observable lift dynamic observer 203.29ns 232.026 0.88 380.14ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 59.82ns 72.4369 0.83 340.08ns
Specific observable subscribe dynamic observer 76.84ns 88.2162 0.87 355.32ns
Dynamic observable subscribe specific observer 129.69ns 126.498 1.03 385.72ns
Dynamic observable subscribe dynamic observer 132.47ns 152.511 0.87 366.74ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 59.25ns 73.3179 0.81 343.90ns
Dynamic observable subscribe lambda 127.99ns 156.771 0.82 375.02ns
Specific observable subscribe lambda without subscription 59.49ns 70.1339 0.85 353.78ns
Dynamic observable subscribe lambda without subscription 128.16ns 153.639 0.83 376.54ns
Specific observable subscribe specific subscriber 27.03ns 34.8961 0.77 278.62ns
Dynamic observable subscribe specific subscriber 98.38ns 102.324 0.96 319.98ns
Specific observable subscribe dynamic observer 26.89ns 35.5116 0.76 288.98ns
Dynamic observable subscribe dynamic observer 90.65ns 103.409 0.88 295.27ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.401629 1.00 0.40ns
Dynamic observer construction 28.77ns 29.0307 0.99 19.35ns
Specific observer construction + as_dynamic 28.80ns 37.8099 0.76 18.49ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.44ns 0.381628 1.14 0.43ns
Dynamic observer OnNext 2.01ns 2.26147 0.89 1.61ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 33.80ns 41.5143 0.81 71.35ns
Make copy of subscriber 16.08ns 20.0998 0.80 5.63ns
Transform subsriber to dynamic 45.06ns 52.4448 0.86 21.34ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 33.91ns 39.8301 0.85 57.39ns
composite_subscription add 51.38ns 61.8298 0.83 84.31ns
composite_subscription unsubscribe 44.42ns 38.1987 1.16 21.20ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 234.32ns 272.563 0.86 1966.42ns
sending of values from observable via buffer to subscriber 6.08ns 7.64884 0.80 26.37ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 323.92ns 345.706 0.94 694.92ns
long stateful chain creation + subscribe 447.74ns 483.788 0.93 1548.53ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 940.99ns 908.011 1.04 1211.90ns
sending of values from observable via combine_latest to subscriber 33.73ns 28.8697 1.17 1.61ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2036.18ns 1918.79 1.06 3922.85ns
concat_with 2454.56ns 2709.31 0.91 4375.11ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 120.34ns 144.35 0.83 374.99ns
sending of values from observable via distinct_until_changed to subscriber 3.23ns 3.23311 1.00 1.21ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 144.94ns 158.99 0.91 761.40ns
sending of values from observable via first to subscriber 0.80ns 1.60595 0.50 0.81ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 67.52ns 78.8279 0.86 785.43ns
error 116.90ns 138.398 0.84 846.99ns
never 29.71ns 38.5876 0.77 292.55ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 82.44ns 85.6552 0.96 792.49ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 0.80ns 1.54993 0.52 129.70ns
re-schedule 10 times 19.09ns 26.955 0.71 163.60ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 69.80ns 82.861 0.84 789.84ns
just send variadic 93.76ns 130.223 0.72 842.23ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 179.48ns 212.127 0.85 456.79ns
sending of values from observable via last to subscriber 1.78ns 3.21353 0.55 1.15ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 80.36ns 94.6634 0.85 346.17ns
sending of values from observable via map to subscriber 0.81ns 0.890826 0.91 1.61ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 1994.25ns 2138.0 0.93 4089.10ns
merge_with 2391.36ns 2565.29 0.93 4531.83ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 478.38ns 494.043 0.97 2718.82ns
sending of values from observable via observe_on to subscriber 71.72ns 73.7711 0.97 233.78ns

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 456.97ns 526.665 0.87 830.47ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.35ns 25.3738 1.16 9.63ns
on_error 0.81ns 0.809733 1.00 16.20ns
on_completed 0.81ns 0.813711 0.99 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 210.51ns 210.075 1.00 160.59ns
get_observable 33.34ns 34.5423 0.97 43.16ns
get_subscriber 63.62ns 66.4428 0.96 21.69ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 4353.53ns 4968.92 0.88 3322.68ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 114.36ns 120.114 0.95 400.01ns
sending of values from observable via scan to subscriber 2.01ns 2.03428 0.99 1.72ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.28ns 2.45044 0.93 .
mutex lock increment 22.49ns 21.7609 1.03 .
spin-lock increment 10.43ns 10.868 0.96 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 111.60ns 137.927 0.81 560.50ns
sending of values from observable via skip to subscriber 3.20ns 2.76621 1.16 2.74ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 2477.73ns 2807.07 0.88 4480.97ns
sending of values from observable via switch_on_next to subscriber 629.67ns 699.693 0.90 1226.49ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 173.79ns 207.641 0.84 619.96ns
sending of values from observable via take to subscriber 4.09ns 4.169 0.98 3.62ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 209.56ns 245.211 0.85 683.50ns
sending of values from observable via take_last to subscriber 3.24ns 3.66157 0.89 6.35ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1104.74ns 1277.11 0.87 1719.11ns
sending of values from observable via take_until to subscriber 10.45ns 10.1989 1.02 2.02ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 945.27ns 1088.76 0.87 14104.80ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 61.58ns 70.0378 0.88 17474.10ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 20.94ns 27.5711 0.76 190.99ns
re-schedule 10 times 40.84ns 61.5402 0.66 214.48ns
recursively schedule 10 times 1418.70ns 1714.43 0.83 8728.19ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2255.12ns 2520.22 0.89 3380.75ns
sending of values from observable via window to subscriber 615.77ns 629.494 0.98 412.64ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1111.59ns 1326.36 0.84 1586.69ns
sending of values from observable via with_latest_from to subscriber 31.73ns 32.1233 0.99 3.63ns

ci-windows

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 2.01ns 1.81485 1.11 0.41ns
Dynamic observable construction 71.04ns 97.7197 0.73 115.97ns
Specific observable construction + as_dynamic 71.17ns 97.7157 0.73 116.96ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 137.48ns 172.335 0.80 1187.67ns
Specific observable lift dynamic observer 171.11ns 213.2 0.80 1230.60ns
Dynamic observable lift specific observer 268.46ns 345.264 0.78 1382.28ns
Dynamic observable lift dynamic observer 237.96ns 281.593 0.85 1268.75ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 103.54ns 133.237 0.78 1136.05ns
Specific observable subscribe dynamic observer 117.52ns 156.903 0.75 1183.22ns
Dynamic observable subscribe specific observer 210.41ns 274.509 0.77 1335.84ns
Dynamic observable subscribe dynamic observer 171.94ns 214.776 0.80 1222.62ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 100.06ns 136.933 0.73 1145.68ns
Dynamic observable subscribe lambda 207.52ns 271.743 0.76 1315.32ns
Specific observable subscribe lambda without subscription 100.27ns 133.275 0.75 1151.45ns
Dynamic observable subscribe lambda without subscription 207.22ns 271.422 0.76 1314.16ns
Specific observable subscribe specific subscriber 26.92ns 36.5935 0.74 835.90ns
Dynamic observable subscribe specific subscriber 132.77ns 176.483 0.75 1010.16ns
Specific observable subscribe dynamic observer 26.87ns 36.6487 0.73 876.24ns
Dynamic observable subscribe dynamic observer 79.50ns 94.3896 0.84 915.57ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 2.00ns 1.8125 1.11 2.00ns
Dynamic observer construction 71.28ns 100.834 0.71 107.25ns
Specific observer construction + as_dynamic 71.70ns 99.5114 0.72 109.86ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.45ns 0.811227 0.55 0.45ns
Dynamic observer OnNext 2.01ns 2.41032 0.83 2.02ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 76.08ns 101.246 0.75 383.96ns
Make copy of subscriber 16.06ns 20.0659 0.80 35.20ns
Transform subsriber to dynamic 85.88ns 117.795 0.73 143.42ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 73.58ns 101.103 0.73 326.51ns
composite_subscription add 71.56ns 82.7962 0.86 174.77ns
composite_subscription unsubscribe 61.90ns 113.612 0.54 133.28ns

buffer

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
buffer 336.44ns 421.881 0.80 4394.67ns
sending of values from observable via buffer to subscriber 7.48ns 8.61388 0.87 89.81ns

chains creation test

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
long non-state chain creation + subscribe 299.44ns 323.459 0.93 1698.53ns
long stateful chain creation + subscribe 637.95ns 796.243 0.80 3305.62ns

combine_latest

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
combine_latest construction from observable via dot + subscribe 1560.88ns 2006.6 0.78 3078.57ns
sending of values from observable via combine_latest to subscriber 46.16ns 56.6838 0.81 3.82ns

concat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
concat 2697.30ns 3286.3 0.82 10618.00ns
concat_with 3409.25ns 4083.75 0.83 11527.00ns

distinct_until_changed

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
distinct_until_changed construction from observable via dot + subscribe 176.56ns 221.271 0.80 1015.12ns
sending of values from observable via distinct_until_changed to subscriber 3.23ns 7.28328 0.44 3.63ns

first

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
first construction from observable via dot + subscribe 138.67ns 153.677 0.90 2647.80ns
sending of values from observable via first to subscriber 2.58ns 2.81245 0.92 1.22ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 64.35ns 75.5831 0.85 2491.64ns
error 120.74ns 135.5 0.89 2506.70ns
never 29.40ns 36.5063 0.81 871.04ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 121.23ns 161.902 0.75 2448.10ns

immediate scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 1.41ns 2.2163 0.64 405.02ns
re-schedule 10 times 130.31ns 117.27 1.11 432.41ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 65.32ns 79.0211 0.83 2368.82ns
just send variadic 97.41ns 123.224 0.79 2464.43ns

last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
last construction from observable via dot + subscribe 220.39ns 268.823 0.82 1449.65ns
sending of values from observable via last to subscriber 3.19ns 3.83775 0.83 3.31ns

map

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 91.38ns 106.083 0.86 983.12ns
sending of values from observable via map to subscriber 3.60ns 4.22793 0.85 7.23ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 2609.20ns 3200.8 0.82 10981.30ns
merge_with 3306.12ns 4006.75 0.83 11726.70ns

observe_on

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
observe_on construction from observable via dot + subscribe 618.21ns 750.763 0.82 8358.40ns
sending of values from observable via observe_on to subscriber 61.76ns 84.7918 0.73 841.50ns

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 620.92ns 772.079 0.80 1819.69ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 22.54ns 23.6703 0.95 29.06ns
on_error 2.67ns 3.37857 0.79 19.28ns
on_completed 2.88ns 3.64628 0.79 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 338.80ns 422.587 0.80 630.97ns
get_observable 30.92ns 31.4608 0.98 153.88ns
get_subscriber 61.47ns 61.1372 1.01 100.21ns

repeat

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
repeat construction from observable via dot + subscribe 5922.80ns 7107.8 0.83 24901.00ns

scan

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
scan construction from observable via dot + subscribe 168.94ns 219.809 0.77 1252.20ns
sending of values from observable via scan to subscriber 5.67ns 7.19091 0.79 8.65ns

single-threaded locks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no-lock increment 2.93ns 2.25689 1.30 .
mutex lock increment 23.76ns 30.8896 0.77 .
spin-lock increment 10.46ns 10.8451 0.96 .

skip

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
skip construction from observable via dot + subscribe 170.46ns 211.914 0.80 1569.87ns
sending of values from observable via skip to subscriber 3.21ns 4.01568 0.80 3.62ns

switch_on_next

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
switch_on_next construction from observable via dot + subscribe 3493.29ns 4290.29 0.81 12099.00ns
sending of values from observable via switch_on_next to subscriber 857.80ns 1014.93 0.85 3056.75ns

take

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take construction from observable via dot + subscribe 226.80ns 269.612 0.84 2199.25ns
sending of values from observable via take to subscriber 5.47ns 6.89396 0.79 5.72ns

take_last

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_last construction from observable via dot + subscribe 310.60ns 672.901 0.46 2391.18ns
sending of values from observable via take_last to subscriber 4.40ns 5.11307 0.86 20.66ns

take_until

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
take_until construction from observable via dot + subscribe 1540.81ns 1901.88 0.81 5228.40ns
sending of values from observable via take_until to subscriber 12.48ns 13.7868 0.91 4.97ns

timeout

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
timeout construction from observable via dot + subscribe with run_loop 1261.44ns 4007.39 0.31 5591.00ns
sending of values from observable via timeout to subscriber with unreachable timeout interval with run_loop 57.68ns 66.5754 0.87 1392.69ns

trampoline scheduler

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
no any re-schedule 18.88ns 31.4608 0.60 590.83ns
re-schedule 10 times 145.11ns 147.517 0.98 626.97ns
recursively schedule 10 times 2434.82ns 3125.0 0.78 19467.00ns

window

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
window 2966.56ns 3481.44 0.85 9427.33ns
sending of values from observable via window to subscriber 849.47ns 995.71 0.85 1616.81ns

with_latest_from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
with_latest_from construction from observable via dot + subscribe 1876.38ns 2776.08 0.68 3827.50ns
sending of values from observable via with_latest_from to subscriber 36.77ns 47.5571 0.77 6.68ns

@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
No Duplication information No Duplication information

@victimsnino victimsnino merged commit e9d8e8c into main Nov 22, 2022
@victimsnino victimsnino deleted the qt_release branch November 22, 2022 20:29
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