Skip to content

add missing checks#559

Merged
AlexInLog merged 1 commit into
v2from
add_missing_checks
Apr 11, 2024
Merged

add missing checks#559
AlexInLog merged 1 commit into
v2from
add_missing_checks

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

Copy link
Copy Markdown
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 302.06 ns 2.16 ns 2.21 ns 0.98
Subscribe empty callbacks to empty observable via pipe operator 306.80 ns 2.16 ns 2.16 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 698.92 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 1031.73 ns 5.25 ns 5.25 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2262.91 ns 123.55 ns 123.25 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 727.58 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2122.15 ns 59.19 ns 59.19 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3021.50 ns 32.73 ns 32.71 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1093.55 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 841.76 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1015.05 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 836.82 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1258.01 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 912.55 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1108.43 ns 19.13 ns 18.82 ns 1.02

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 265.03 ns 2.16 ns 2.16 ns 1.00
current_thread scheduler create worker + schedule 394.31 ns 7.41 ns 7.41 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 841.65 ns 64.45 ns 64.07 ns 1.01

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 864.25 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 882.78 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2306.03 ns 156.67 ns 153.30 ns 1.02
immediate_just+buffer(2)+subscribe 1523.86 ns 14.82 ns 14.51 ns 1.02
immediate_just+window(2)+subscribe + subscsribe inner 2351.02 ns 1074.19 ns 1082.04 ns 0.99

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 861.70 ns - - 0.00
immediate_just+take_while(true)+subscribe 823.52 ns 0.31 ns 0.31 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 2007.42 ns 0.31 ns 0.31 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3423.49 ns 177.50 ns 183.14 ns 0.97
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3654.70 ns 180.02 ns 172.11 ns 1.05
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 134.02 ns 130.98 ns 1.02
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3497.56 ns 1068.79 ns 1080.85 ns 0.99
immediate_just(1) + zip(immediate_just(2)) + subscribe 2127.02 ns 223.16 ns 212.08 ns 1.05

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 34.73 ns 11.71 ns 11.71 ns 1.00

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1374.93 ns 16.39 ns 16.35 ns 1.00
basic sample with immediate scheduler 1362.03 ns 5.55 ns 5.55 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 914.50 ns 0.31 ns 0.31 ns 1.00

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 1070.04 ns 123.28 ns 122.45 ns 1.01

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1180.52 ns 4.87 ns 3.84 ns 1.27
Subscribe empty callbacks to empty observable via pipe operator 1147.91 ns 4.87 ns 3.85 ns 1.26

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 2221.33 ns 0.27 ns 0.23 ns 1.16
from array of 1 - create + subscribe + current_thread 2934.65 ns 28.86 ns 26.00 ns 1.11
concat_as_source of just(1 immediate) create + subscribe 6238.51 ns 384.36 ns 334.11 ns 1.15
defer from array of 1 - defer + create + subscribe + immediate 2279.84 ns 0.27 ns 0.23 ns 1.14
interval - interval + take(3) + subscribe + immediate 5626.38 ns 132.25 ns 115.13 ns 1.15
interval - interval + take(3) + subscribe + current_thread 6846.99 ns 120.68 ns 107.63 ns 1.12

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 3275.12 ns 0.27 ns 0.23 ns 1.13
immediate_just+filter(true)+subscribe 2444.62 ns 0.27 ns 0.23 ns 1.14
immediate_just(1,2)+skip(1)+subscribe 3284.53 ns 0.27 ns 0.23 ns 1.15
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2395.35 ns 0.58 ns 0.47 ns 1.25
immediate_just(1,2)+first()+subscribe 3668.20 ns 0.27 ns 0.23 ns 1.14
immediate_just(1,2)+last()+subscribe 2745.34 ns 0.26 ns 0.23 ns 1.11
immediate_just+take_last(1)+subscribe 3473.30 ns 81.89 ns 69.93 ns 1.17

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 1020.73 ns 4.67 ns 4.03 ns 1.16
current_thread scheduler create worker + schedule 1363.75 ns 45.17 ns 38.49 ns 1.17
current_thread scheduler create worker + schedule + recursive schedule 2293.90 ns 250.40 ns 221.89 ns 1.13

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2473.37 ns 0.27 ns 0.23 ns 1.15
immediate_just+scan(10, std::plus)+subscribe 2653.23 ns 0.54 ns 0.47 ns 1.15
immediate_just+flat_map(immediate_just(v*2))+subscribe 6335.05 ns 497.18 ns 413.70 ns 1.20
immediate_just+buffer(2)+subscribe 2992.36 ns 83.37 ns 68.63 ns 1.21
immediate_just+window(2)+subscribe + subscsribe inner 6230.48 ns 2745.77 ns 2302.74 ns 1.19

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2482.82 ns - - 0.00
immediate_just+take_while(true)+subscribe 2435.35 ns 0.28 ns 0.23 ns 1.21

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 5910.10 ns 0.27 ns 0.23 ns 1.13

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 8656.03 ns 511.06 ns 451.04 ns 1.13
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 9739.71 ns 513.23 ns 445.69 ns 1.15
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 538.44 ns 476.23 ns 1.13
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 8193.74 ns 2150.56 ns 1901.06 ns 1.13
immediate_just(1) + zip(immediate_just(2)) + subscribe 5249.03 ns 834.72 ns 861.73 ns 0.97

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 90.55 ns 57.84 ns 49.26 ns 1.17

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 3868.74 ns 167.57 ns 103.42 ns 1.62
basic sample with immediate scheduler 4474.41 ns 22.23 ns 15.54 ns 1.43

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 2740.43 ns 0.27 ns 0.23 ns 1.15

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 7807.25 ns 5107.11 ns 4116.43 ns 1.24

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 273.00 ns 1.54 ns 0.88 ns 1.76
Subscribe empty callbacks to empty observable via pipe operator 271.84 ns 1.54 ns 0.88 ns 1.76

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 567.12 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 798.46 ns 5.56 ns 5.56 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 1908.37 ns 113.93 ns 113.75 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 598.46 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 1534.05 ns 58.31 ns 58.31 ns 1.00
interval - interval + take(3) + subscribe + current_thread 2092.79 ns 31.50 ns 31.50 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 925.72 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 665.18 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 859.63 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 708.96 ns 0.62 ns 0.62 ns 1.00
immediate_just(1,2)+first()+subscribe 1083.72 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 731.84 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 962.75 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 201.37 ns 1.54 ns 0.88 ns 1.76
current_thread scheduler create worker + schedule 302.66 ns 5.57 ns 5.89 ns 0.95
current_thread scheduler create worker + schedule + recursive schedule 622.94 ns 59.83 ns 58.42 ns 1.02

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 656.24 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 713.91 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 1777.48 ns 129.98 ns 116.22 ns 1.12
immediate_just+buffer(2)+subscribe 1385.16 ns 14.20 ns 14.19 ns 1.00
immediate_just+window(2)+subscribe + subscsribe inner 2203.73 ns 802.31 ns 800.77 ns 1.00

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 652.16 ns - - 0.00
immediate_just+take_while(true)+subscribe 664.30 ns 0.31 ns 0.31 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1571.83 ns 0.31 ns 0.31 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 2558.28 ns 137.32 ns 123.57 ns 1.11
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 2990.93 ns 131.89 ns 123.28 ns 1.07
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 108.87 ns 107.89 ns 1.01
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 2595.35 ns 729.99 ns 730.76 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 1774.32 ns 169.24 ns 171.58 ns 0.99

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 24.57 ns 14.20 ns 13.87 ns 1.02

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1038.45 ns 13.90 ns 13.88 ns 1.00
basic sample with immediate scheduler 1019.86 ns 5.86 ns 5.86 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 744.67 ns 0.31 ns 0.31 ns 1.00

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 882.80 ns 124.69 ns 126.20 ns 0.99

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 582.63 ns 4.94 ns 4.93 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 595.97 ns 4.93 ns 4.94 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1173.80 ns 5.55 ns 5.55 ns 1.00
from array of 1 - create + subscribe + current_thread 1440.62 ns 18.82 ns 18.82 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 4763.09 ns 174.11 ns 173.99 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 1209.78 ns 5.55 ns 5.55 ns 1.00
interval - interval + take(3) + subscribe + immediate 3131.44 ns 133.59 ns 133.54 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3460.42 ns 58.72 ns 58.76 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1829.09 ns 12.86 ns 12.87 ns 1.00
immediate_just+filter(true)+subscribe 1704.75 ns 11.69 ns 11.70 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1785.40 ns 13.11 ns 13.11 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1412.77 ns 15.81 ns 15.86 ns 1.00
immediate_just(1,2)+first()+subscribe 2117.38 ns 12.97 ns 12.97 ns 1.00
immediate_just(1,2)+last()+subscribe 1818.62 ns 14.13 ns 14.13 ns 1.00
immediate_just+take_last(1)+subscribe 2036.40 ns 59.53 ns 59.09 ns 1.01

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 486.60 ns 6.17 ns 6.17 ns 1.00
current_thread scheduler create worker + schedule 657.04 ns 18.21 ns 18.20 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 1098.85 ns 111.14 ns 113.26 ns 0.98

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1324.28 ns 11.22 ns 11.23 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 1446.78 ns 21.58 ns 21.58 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 3944.49 ns 227.64 ns 237.38 ns 0.96
immediate_just+buffer(2)+subscribe 2329.40 ns 58.89 ns 57.96 ns 1.02
immediate_just+window(2)+subscribe + subscsribe inner 4110.71 ns 1532.73 ns 1535.38 ns 1.00

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1328.24 ns 11.45 ns 11.44 ns 1.00
immediate_just+take_while(true)+subscribe 1330.76 ns 11.71 ns 11.70 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 3598.80 ns 7.71 ns 7.71 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5386.54 ns 249.87 ns 249.51 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 6422.22 ns 256.61 ns 249.50 ns 1.03
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 225.55 ns 229.72 ns 0.98
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6290.11 ns 952.83 ns 948.43 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 3907.52 ns 540.03 ns 542.93 ns 0.99

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 36.34 ns 25.91 ns 26.20 ns 0.99

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1899.16 ns 59.71 ns 59.51 ns 1.00
basic sample with immediate scheduler 1892.60 ns 35.48 ns 35.48 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1575.79 ns 19.98 ns 19.99 ns 1.00

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 1985.77 ns 335.73 ns 335.90 ns 1.00

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@AlexInLog AlexInLog merged commit e71d8ed into v2 Apr 11, 2024
@AlexInLog AlexInLog deleted the add_missing_checks branch April 11, 2024 19:20
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