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

Simpify disposables tests #527

Merged
merged 2 commits into from
Feb 17, 2024
Merged

Simpify disposables tests #527

merged 2 commits into from
Feb 17, 2024

Conversation

victimsnino
Copy link
Owner

No description provided.

Copy link
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 304.35 ns 2.16 ns 2.16 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 302.40 ns 2.16 ns 2.28 ns 0.95

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 697.31 ns 0.62 ns 0.90 ns 0.69
from array of 1 - create + subscribe + current_thread 1042.60 ns 5.25 ns 7.29 ns 0.72
concat_as_source of just(1 immediate) create + subscribe 2286.99 ns 117.03 ns 113.32 ns 1.03
defer from array of 1 - defer + create + subscribe + immediate 735.13 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2192.25 ns 58.03 ns 58.05 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3009.74 ns 32.12 ns 32.16 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1079.35 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 847.06 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1036.77 ns 0.75 ns 0.31 ns 2.42
immediate_just(1,1,2)+distinct_until_changed()+subscribe 860.83 ns 0.31 ns 0.31 ns 1.02
immediate_just(1,2)+first()+subscribe 1318.54 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 986.68 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1123.18 ns 18.52 ns 17.91 ns 1.03

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 259.38 ns 2.16 ns 2.16 ns 1.00
current_thread scheduler create worker + schedule 384.46 ns 7.41 ns 7.46 ns 0.99
current_thread scheduler create worker + schedule + recursive schedule 820.57 ns 64.41 ns 64.60 ns 1.00

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 873.24 ns 0.31 ns 0.31 ns 0.99
immediate_just+scan(10, std::plus)+subscribe 906.61 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2346.03 ns 156.01 ns 161.70 ns 0.96
immediate_just+buffer(2)+subscribe 1529.85 ns 14.19 ns 24.29 ns 0.58
immediate_just+window(2)+subscribe + subscsribe inner 2373.66 ns 1095.46 ns 1094.52 ns 1.00

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 2006.80 ns 0.32 ns 0.31 ns 1.03

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3463.64 ns 191.10 ns 175.57 ns 1.09
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3748.31 ns 171.20 ns 167.30 ns 1.02
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 132.07 ns 132.02 ns 1.00
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3681.41 ns 995.91 ns 985.66 ns 1.01
immediate_just(1) + zip(immediate_just(2)) + subscribe 2138.00 ns 227.51 ns 207.42 ns 1.10

Subjects

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

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1337.24 ns 16.35 ns 16.35 ns 1.00
basic sample with immediate scheduler 1347.21 ns 5.55 ns 5.55 ns 1.00

Aggregating Operators

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

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1060.71 ns 5.38 ns 6.43 ns 0.84
Subscribe empty callbacks to empty observable via pipe operator 1071.18 ns 5.41 ns 6.15 ns 0.88

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 2197.53 ns 0.44 ns 0.27 ns 1.60
from array of 1 - create + subscribe + current_thread 2819.24 ns 8.57 ns 32.06 ns 0.27
concat_as_source of just(1 immediate) create + subscribe 6625.06 ns 395.39 ns 452.25 ns 0.87
defer from array of 1 - defer + create + subscribe + immediate 2299.50 ns 0.28 ns 0.32 ns 0.86
interval - interval + take(3) + subscribe + immediate 6161.97 ns 92.50 ns 160.62 ns 0.58
interval - interval + take(3) + subscribe + current_thread 7588.59 ns 60.89 ns 151.85 ns 0.40

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 3402.26 ns 0.28 ns 0.26 ns 1.07
immediate_just+filter(true)+subscribe 2475.97 ns 0.28 ns 0.28 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 3246.32 ns 0.28 ns 0.31 ns 0.93
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2443.26 ns 0.57 ns 0.63 ns 0.90
immediate_just(1,2)+first()+subscribe 3851.98 ns 0.28 ns 0.30 ns 0.92
immediate_just(1,2)+last()+subscribe 2870.14 ns 0.28 ns 0.31 ns 0.91
immediate_just+take_last(1)+subscribe 3555.08 ns 74.41 ns 78.71 ns 0.95

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 977.47 ns 5.73 ns 5.28 ns 1.09
current_thread scheduler create worker + schedule 1310.39 ns 14.82 ns 45.45 ns 0.33
current_thread scheduler create worker + schedule + recursive schedule 2250.90 ns 160.63 ns 288.53 ns 0.56

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2495.64 ns 0.28 ns 0.27 ns 1.02
immediate_just+scan(10, std::plus)+subscribe 2846.77 ns 0.56 ns 0.65 ns 0.86
immediate_just+flat_map(immediate_just(v*2))+subscribe 6376.53 ns 464.22 ns 594.91 ns 0.78
immediate_just+buffer(2)+subscribe 2917.11 ns 68.89 ns 86.45 ns 0.80
immediate_just+window(2)+subscribe + subscsribe inner 6469.08 ns 2750.35 ns 3045.35 ns 0.90

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2470.68 ns - - 0.00
immediate_just+take_while(true)+subscribe 2484.19 ns 0.28 ns 0.30 ns 0.91

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 6519.17 ns 0.32 ns 0.31 ns 1.01

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 9090.13 ns 520.61 ns 609.25 ns 0.85
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 10235.69 ns 538.50 ns 569.18 ns 0.95
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 533.16 ns 589.84 ns 0.90
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 9678.92 ns 2308.92 ns 2450.32 ns 0.94
immediate_just(1) + zip(immediate_just(2)) + subscribe 16370.20 ns 963.82 ns 1230.55 ns 0.78

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 100.33 ns 65.54 ns 64.60 ns 1.01

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 3439.81 ns 46.78 ns 149.68 ns 0.31
basic sample with immediate scheduler 3442.50 ns 16.33 ns 20.47 ns 0.80

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 3057.81 ns 0.28 ns 0.31 ns 0.91

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 275.24 ns 0.88 ns 0.88 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 275.52 ns 0.88 ns 0.88 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 578.28 ns 0.31 ns 0.31 ns 1.01
from array of 1 - create + subscribe + current_thread 796.37 ns 5.57 ns 5.56 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 1908.18 ns 113.40 ns 113.41 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 597.22 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 1535.85 ns 57.07 ns 57.07 ns 1.00
interval - interval + take(3) + subscribe + current_thread 2104.49 ns 30.91 ns 30.88 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 928.30 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 653.52 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 867.21 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 689.88 ns 0.62 ns 0.62 ns 1.00
immediate_just(1,2)+first()+subscribe 1104.68 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 754.62 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 962.74 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 201.08 ns 0.88 ns 0.88 ns 1.00
current_thread scheduler create worker + schedule 308.57 ns 5.58 ns 5.58 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 630.36 ns 59.63 ns 59.98 ns 0.99

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 701.27 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 712.50 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 1831.54 ns 120.71 ns 119.39 ns 1.01
immediate_just+buffer(2)+subscribe 1355.54 ns 14.20 ns 14.51 ns 0.98
immediate_just+window(2)+subscribe + subscsribe inner 2151.83 ns 848.27 ns 820.75 ns 1.03

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1639.95 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 2562.11 ns 125.98 ns 125.49 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 2999.37 ns 121.21 ns 121.88 ns 0.99
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 112.78 ns 112.34 ns 1.00
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 2620.71 ns 729.69 ns 737.12 ns 0.99
immediate_just(1) + zip(immediate_just(2)) + subscribe 1830.36 ns 170.04 ns 169.79 ns 1.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 26.23 ns 15.12 ns 14.81 ns 1.02

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1021.34 ns 13.28 ns 13.28 ns 1.00
basic sample with immediate scheduler 1033.20 ns 5.87 ns 5.86 ns 1.00

Aggregating Operators

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

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 577.73 ns 4.94 ns 4.01 ns 1.23
Subscribe empty callbacks to empty observable via pipe operator 589.57 ns 4.94 ns 4.01 ns 1.23

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1169.77 ns 5.24 ns 5.24 ns 1.00
from array of 1 - create + subscribe + current_thread 1440.35 ns 19.77 ns 20.38 ns 0.97
concat_as_source of just(1 immediate) create + subscribe 4678.11 ns 182.88 ns 317.59 ns 0.58
defer from array of 1 - defer + create + subscribe + immediate 1212.59 ns 5.24 ns 5.24 ns 1.00
interval - interval + take(3) + subscribe + immediate 2973.91 ns 130.30 ns 143.11 ns 0.91
interval - interval + take(3) + subscribe + current_thread 3464.42 ns 59.55 ns 60.79 ns 0.98

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1834.23 ns 12.87 ns 12.88 ns 1.00
immediate_just+filter(true)+subscribe 1713.56 ns 11.11 ns 12.38 ns 0.90
immediate_just(1,2)+skip(1)+subscribe 1764.20 ns 13.05 ns 13.07 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1365.12 ns 15.85 ns 15.95 ns 0.99
immediate_just(1,2)+first()+subscribe 2101.67 ns 12.64 ns 12.98 ns 0.97
immediate_just(1,2)+last()+subscribe 1777.80 ns 14.10 ns 14.14 ns 1.00
immediate_just+take_last(1)+subscribe 2103.49 ns 61.31 ns 61.53 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 489.91 ns 6.73 ns 7.30 ns 0.92
current_thread scheduler create worker + schedule 665.23 ns 17.60 ns 17.90 ns 0.98
current_thread scheduler create worker + schedule + recursive schedule 1112.86 ns 113.02 ns 111.82 ns 1.01

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1328.32 ns 11.10 ns 12.22 ns 0.91
immediate_just+scan(10, std::plus)+subscribe 1450.91 ns 21.29 ns 21.58 ns 0.99
immediate_just+flat_map(immediate_just(v*2))+subscribe 3915.75 ns 230.98 ns 225.12 ns 1.03
immediate_just+buffer(2)+subscribe 2353.45 ns 58.94 ns 59.33 ns 0.99
immediate_just+window(2)+subscribe + subscsribe inner 4101.60 ns 1561.74 ns 1549.02 ns 1.01

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1337.55 ns 11.44 ns 11.45 ns 1.00
immediate_just+take_while(true)+subscribe 1342.78 ns 11.71 ns 12.38 ns 0.95

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 3804.30 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 5144.34 ns 237.32 ns 261.48 ns 0.91
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 6574.86 ns 232.50 ns 258.76 ns 0.90
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 235.21 ns 223.77 ns 1.05
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6231.35 ns 989.83 ns 979.51 ns 1.01
immediate_just(1) + zip(immediate_just(2)) + subscribe 3866.17 ns 549.62 ns 548.94 ns 1.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 36.67 ns 26.59 ns 27.13 ns 0.98

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1897.41 ns 59.97 ns 59.51 ns 1.01
basic sample with immediate scheduler 1880.26 ns 39.17 ns 39.20 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1463.21 ns 17.81 ns 19.98 ns 0.89

Copy link

sonarcloud bot commented Feb 17, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues

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

See analysis details on SonarCloud

@victimsnino victimsnino merged commit 09b74b8 into v2 Feb 17, 2024
27 checks passed
@victimsnino victimsnino deleted the simplify_tests branch February 17, 2024 14:08
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.

2 participants