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

Add more mock tests #587

Merged
merged 17 commits into from
May 24, 2024
Merged

Add more mock tests #587

merged 17 commits into from
May 24, 2024

Conversation

victimsnino
Copy link
Owner

@victimsnino victimsnino commented May 23, 2024

Switch to Catch2 due to snitch is not supporting multi-threaded checks

Copy link
Contributor

github-actions bot commented May 24, 2024

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 279.99 ns 2.02 ns 2.16 ns 0.93
Subscribe empty callbacks to empty observable via pipe operator 283.48 ns 2.01 ns 2.16 ns 0.93

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 662.12 ns 0.28 ns 0.31 ns 0.92
from array of 1 - create + subscribe + current_thread 992.42 ns 3.16 ns 3.43 ns 0.92
concat_as_source of just(1 immediate) create + subscribe 2312.35 ns 139.06 ns 297.72 ns 0.47
defer from array of 1 - defer + create + subscribe + immediate 713.23 ns 0.31 ns 0.78 ns 0.40
interval - interval + take(3) + subscribe + immediate 2169.49 ns 56.81 ns 59.23 ns 0.96
interval - interval + take(3) + subscribe + current_thread 2872.98 ns 30.75 ns 32.46 ns 0.95
from array of 1 - create + as_blocking + subscribe + new_thread 28766.69 ns 26674.89 ns 27479.31 ns 0.97
from array of 1000 - create + as_blocking + subscribe + new_thread 38297.22 ns 48947.91 ns 51155.30 ns 0.96

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1118.37 ns 0.28 ns 0.31 ns 0.92
immediate_just+filter(true)+subscribe 828.80 ns 0.28 ns 0.31 ns 0.92
immediate_just(1,2)+skip(1)+subscribe 1095.48 ns 0.29 ns 0.31 ns 0.93
immediate_just(1,1,2)+distinct_until_changed()+subscribe 966.23 ns 0.28 ns 0.31 ns 0.92
immediate_just(1,2)+first()+subscribe 1201.64 ns 0.28 ns 0.31 ns 0.92
immediate_just(1,2)+last()+subscribe 933.37 ns 0.28 ns 0.31 ns 0.92
immediate_just+take_last(1)+subscribe 1094.56 ns 17.25 ns 17.91 ns 0.96

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 247.34 ns 2.00 ns 2.16 ns 0.93
current_thread scheduler create worker + schedule 387.03 ns 5.56 ns 5.56 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 774.82 ns 53.43 ns 56.50 ns 0.95

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 843.42 ns 0.29 ns 0.31 ns 0.93
immediate_just+scan(10, std::plus)+subscribe 907.96 ns 0.28 ns 0.31 ns 0.92
immediate_just+flat_map(immediate_just(v*2))+subscribe 2274.40 ns 147.42 ns 159.28 ns 0.93
immediate_just+buffer(2)+subscribe 1492.09 ns 12.97 ns 13.91 ns 0.93
immediate_just+window(2)+subscribe + subscsribe inner 2300.47 ns 974.36 ns 987.76 ns 0.99

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 809.67 ns - - 0.00
immediate_just+take_while(true)+subscribe 827.36 ns 0.29 ns 0.31 ns 0.92

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 2018.94 ns 0.29 ns 0.31 ns 0.95

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3137.17 ns 169.55 ns 180.57 ns 0.94
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3456.83 ns 165.22 ns 174.49 ns 0.95
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 122.08 ns 146.62 ns 0.83
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3254.85 ns 1045.89 ns 958.73 ns 1.09
immediate_just(1) + zip(immediate_just(2)) + subscribe 1981.71 ns 212.66 ns 207.90 ns 1.02

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 31.87 ns 15.28 ns 16.88 ns 0.91

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1346.91 ns 12.88 ns 13.59 ns 0.95
basic sample with immediate scheduler 1299.02 ns 5.14 ns 5.55 ns 0.93

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 913.64 ns 0.30 ns 0.31 ns 0.99

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 1049.43 ns 109.65 ns 119.48 ns 0.92

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 970.95 ns 3.90 ns 3.95 ns 0.99
Subscribe empty callbacks to empty observable via pipe operator 970.83 ns 3.90 ns 3.90 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1928.63 ns 0.23 ns 0.23 ns 1.00
from array of 1 - create + subscribe + current_thread 2415.91 ns 33.71 ns 34.43 ns 0.98
concat_as_source of just(1 immediate) create + subscribe 5428.75 ns 335.02 ns 335.10 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 1980.44 ns 0.23 ns 0.23 ns 1.01
interval - interval + take(3) + subscribe + immediate 5499.00 ns 114.92 ns 114.75 ns 1.00
interval - interval + take(3) + subscribe + current_thread 6596.86 ns 114.46 ns 95.52 ns 1.20
from array of 1 - create + as_blocking + subscribe + new_thread 89920.25 ns 108626.10 ns 79910.38 ns 1.36
from array of 1000 - create + as_blocking + subscribe + new_thread 94906.73 ns 93815.00 ns 87409.15 ns 1.07

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 3004.50 ns 0.27 ns 0.22 ns 1.23
immediate_just+filter(true)+subscribe 2469.75 ns 0.26 ns 0.23 ns 1.16
immediate_just(1,2)+skip(1)+subscribe 3234.18 ns 0.28 ns 0.23 ns 1.20
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2368.46 ns 0.54 ns 0.47 ns 1.17
immediate_just(1,2)+first()+subscribe 3814.09 ns 0.27 ns 0.23 ns 1.21
immediate_just(1,2)+last()+subscribe 2775.32 ns 0.27 ns 0.23 ns 1.20
immediate_just+take_last(1)+subscribe 3324.41 ns 72.23 ns 69.76 ns 1.04

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 928.13 ns 4.59 ns 4.21 ns 1.09
current_thread scheduler create worker + schedule 1349.97 ns 43.35 ns 39.12 ns 1.11
current_thread scheduler create worker + schedule + recursive schedule 2379.53 ns 246.07 ns 255.90 ns 0.96

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2514.17 ns 0.28 ns 0.23 ns 1.22
immediate_just+scan(10, std::plus)+subscribe 2790.41 ns 0.56 ns 0.46 ns 1.23
immediate_just+flat_map(immediate_just(v*2))+subscribe 6217.03 ns 477.60 ns 381.11 ns 1.25
immediate_just+buffer(2)+subscribe 2980.28 ns 81.35 ns 67.66 ns 1.20
immediate_just+window(2)+subscribe + subscsribe inner 6342.89 ns 2729.22 ns 2180.27 ns 1.25

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2490.31 ns - - 0.00
immediate_just+take_while(true)+subscribe 2512.35 ns 0.28 ns 0.23 ns 1.23

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 6749.02 ns 0.28 ns 0.23 ns 1.19

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 8701.85 ns 523.80 ns 416.02 ns 1.26
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 10032.82 ns 531.44 ns 420.03 ns 1.27
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 558.52 ns 441.52 ns 1.26
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 9220.36 ns 2193.89 ns 1832.81 ns 1.20
immediate_just(1) + zip(immediate_just(2)) + subscribe 6002.99 ns 946.38 ns 803.03 ns 1.18

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 84.78 ns 58.60 ns 47.11 ns 1.24

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 2808.16 ns 79.89 ns 67.33 ns 1.19
basic sample with immediate scheduler 2915.11 ns 14.07 ns 13.58 ns 1.04

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 2778.43 ns 0.26 ns 0.23 ns 1.13

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 7669.68 ns 4834.76 ns 4085.80 ns 1.18

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 271.03 ns 1.56 ns 1.57 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 277.80 ns 1.56 ns 1.56 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 560.98 ns 0.45 ns 0.31 ns 1.46
from array of 1 - create + subscribe + current_thread 792.19 ns 4.01 ns 4.01 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2353.56 ns 134.65 ns 135.27 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 778.85 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2220.96 ns 58.27 ns 58.35 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3189.62 ns 30.86 ns 30.88 ns 1.00
from array of 1 - create + as_blocking + subscribe + new_thread 29897.72 ns 28408.39 ns 27593.69 ns 1.03
from array of 1000 - create + as_blocking + subscribe + new_thread 38817.10 ns 36162.61 ns 32121.00 ns 1.13

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1151.77 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 853.93 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1082.13 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 872.09 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1354.29 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 1006.89 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1191.65 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 280.30 ns 1.56 ns 1.56 ns 1.00
current_thread scheduler create worker + schedule 409.33 ns 4.63 ns 4.63 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 857.23 ns 58.95 ns 58.11 ns 1.01

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 846.85 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 979.40 ns 0.62 ns 0.62 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2253.03 ns 138.57 ns 139.44 ns 0.99
immediate_just+buffer(2)+subscribe 1544.89 ns 13.89 ns 13.59 ns 1.02
immediate_just+window(2)+subscribe + subscsribe inner 2456.52 ns 887.17 ns 883.49 ns 1.00

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 2013.02 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 3307.19 ns 160.33 ns 160.01 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3791.63 ns 147.29 ns 147.45 ns 1.00
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 142.81 ns 142.16 ns 1.00
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3401.20 ns 847.24 ns 846.96 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 2239.32 ns 206.99 ns 211.02 ns 0.98

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 54.74 ns 18.59 ns 17.68 ns 1.05

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1322.49 ns 12.05 ns 12.04 ns 1.00
basic sample with immediate scheduler 1303.63 ns 5.25 ns 5.86 ns 0.90

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 989.51 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 1064.01 ns 134.27 ns 135.92 ns 0.99

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 593.17 ns 4.70 ns 4.70 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 603.97 ns 4.76 ns 4.74 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1192.19 ns 4.93 ns 4.93 ns 1.00
from array of 1 - create + subscribe + current_thread 1455.28 ns 15.95 ns 15.75 ns 1.01
concat_as_source of just(1 immediate) create + subscribe 3916.07 ns 179.71 ns 172.40 ns 1.04
defer from array of 1 - defer + create + subscribe + immediate 1230.87 ns 4.93 ns 4.94 ns 1.00
interval - interval + take(3) + subscribe + immediate 3174.22 ns 133.72 ns 134.33 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3515.11 ns 54.57 ns 52.53 ns 1.04
from array of 1 - create + as_blocking + subscribe + new_thread 123737.50 ns 116070.00 ns 112280.00 ns 1.03
from array of 1000 - create + as_blocking + subscribe + new_thread 130387.50 ns 133437.50 ns 130044.44 ns 1.03

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1898.35 ns 12.86 ns 12.87 ns 1.00
immediate_just+filter(true)+subscribe 1380.32 ns 12.37 ns 12.37 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 2345.33 ns 12.97 ns 13.00 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1387.50 ns 15.94 ns 15.95 ns 1.00
immediate_just(1,2)+first()+subscribe 2115.06 ns 12.95 ns 12.96 ns 1.00
immediate_just(1,2)+last()+subscribe 1819.58 ns 13.78 ns 13.68 ns 1.01
immediate_just+take_last(1)+subscribe 2090.77 ns 59.31 ns 59.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 511.02 ns 6.48 ns 6.48 ns 1.00
current_thread scheduler create worker + schedule 686.58 ns 13.12 ns 13.30 ns 0.99
current_thread scheduler create worker + schedule + recursive schedule 1118.17 ns 104.49 ns 122.37 ns 0.85

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1368.45 ns 12.32 ns 12.34 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 1472.23 ns 21.59 ns 21.60 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 3607.41 ns 248.14 ns 220.87 ns 1.12
immediate_just+buffer(2)+subscribe 2351.64 ns 63.23 ns 63.62 ns 0.99
immediate_just+window(2)+subscribe + subscsribe inner 4493.36 ns 1245.00 ns 1234.05 ns 1.01

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1370.03 ns 11.44 ns 11.44 ns 1.00
immediate_just+take_while(true)+subscribe 1636.54 ns 12.38 ns 12.38 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 3283.62 ns 7.22 ns 7.10 ns 1.02

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 6055.44 ns 264.11 ns 234.32 ns 1.13
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5638.42 ns 248.68 ns 222.70 ns 1.12
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 259.08 ns 234.29 ns 1.11
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 5615.12 ns 963.36 ns 940.34 ns 1.02
immediate_just(1) + zip(immediate_just(2)) + subscribe 3695.79 ns 562.13 ns 540.97 ns 1.04

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 37.16 ns 25.59 ns 25.59 ns 1.00

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1896.84 ns 58.10 ns 57.79 ns 1.01
basic sample with immediate scheduler 1905.01 ns 36.72 ns 36.72 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1483.36 ns 19.97 ns 19.96 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 2231.95 ns 335.34 ns 339.80 ns 0.99

Copy link

sonarcloud bot commented May 24, 2024

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

@victimsnino victimsnino marked this pull request as ready for review May 24, 2024 20:32
@victimsnino victimsnino merged commit 103b882 into v2 May 24, 2024
35 checks passed
@victimsnino victimsnino deleted the add_more_mock_tests branch May 24, 2024 20:32
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.

None yet

1 participant