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

Document dynamic_ versions #534

Merged
merged 3 commits into from
Feb 21, 2024
Merged

Document dynamic_ versions #534

merged 3 commits into from
Feb 21, 2024

Conversation

victimsnino
Copy link
Owner

@victimsnino victimsnino commented Feb 21, 2024

Copy link
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 303.20 ns 2.16 ns 2.16 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 300.88 ns 2.16 ns 2.16 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 694.02 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 1041.30 ns 5.25 ns 5.25 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2282.32 ns 115.81 ns 113.93 ns 1.02
defer from array of 1 - defer + create + subscribe + immediate 757.29 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2089.55 ns 58.02 ns 58.01 ns 1.00
interval - interval + take(3) + subscribe + current_thread 2999.37 ns 32.14 ns 32.15 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1079.49 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 842.99 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 985.02 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 850.31 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1243.63 ns 0.62 ns 0.62 ns 1.00
immediate_just(1,2)+last()+subscribe 918.21 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1082.33 ns 18.08 ns 17.60 ns 1.03

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 264.86 ns 2.16 ns 2.16 ns 1.00
current_thread scheduler create worker + schedule 374.05 ns 7.41 ns 7.41 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 814.32 ns 64.01 ns 63.78 ns 1.00

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 830.66 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 879.15 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2373.96 ns 154.99 ns 168.98 ns 0.92
immediate_just+buffer(2)+subscribe 1516.27 ns 14.20 ns 13.89 ns 1.02
immediate_just+window(2)+subscribe + subscsribe inner 2426.36 ns 1036.08 ns 1042.09 ns 0.99

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1949.01 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 3456.39 ns 174.80 ns 185.24 ns 0.94
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3641.80 ns 168.96 ns 164.77 ns 1.03
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 150.30 ns 136.29 ns 1.10
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3600.04 ns 959.11 ns 917.03 ns 1.05
immediate_just(1) + zip(immediate_just(2)) + subscribe 2152.95 ns 217.12 ns 271.36 ns 0.80

Subjects

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

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1320.53 ns 16.47 ns 16.37 ns 1.01
basic sample with immediate scheduler 1398.46 ns 5.55 ns 5.55 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 899.78 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 1049.74 ns 122.94 ns 121.67 ns 1.01

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1424.55 ns 5.34 ns 5.36 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 1441.44 ns 6.03 ns 5.36 ns 1.12

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 3136.96 ns 0.50 ns 0.45 ns 1.13
from array of 1 - create + subscribe + current_thread 2543.34 ns 27.35 ns 8.89 ns 3.08
concat_as_source of just(1 immediate) create + subscribe 7455.88 ns 416.55 ns 393.36 ns 1.06
defer from array of 1 - defer + create + subscribe + immediate 12933.76 ns 0.40 ns 0.28 ns 1.46
interval - interval + take(3) + subscribe + immediate 35141.17 ns 919.34 ns 102.55 ns 8.97
interval - interval + take(3) + subscribe + current_thread 6575.18 ns 117.30 ns 60.84 ns 1.93

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 10048.14 ns 0.86 ns 0.27 ns 3.19
immediate_just+filter(true)+subscribe 8008.26 ns 1.09 ns 0.28 ns 3.92
immediate_just(1,2)+skip(1)+subscribe 12622.48 ns 0.97 ns 0.27 ns 3.52
immediate_just(1,1,2)+distinct_until_changed()+subscribe 6996.61 ns 1.23 ns 0.56 ns 2.21
immediate_just(1,2)+first()+subscribe 9664.61 ns 0.55 ns 0.28 ns 1.97
immediate_just(1,2)+last()+subscribe 9604.75 ns 0.87 ns 0.28 ns 3.12
immediate_just+take_last(1)+subscribe 10359.99 ns 195.80 ns 72.52 ns 2.70

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 880.34 ns 4.22 ns 5.73 ns 0.74
current_thread scheduler create worker + schedule 1233.48 ns 39.64 ns 15.11 ns 2.62
current_thread scheduler create worker + schedule + recursive schedule 2109.89 ns 221.63 ns 155.49 ns 1.43

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2235.61 ns 0.26 ns 0.28 ns 0.94
immediate_just+scan(10, std::plus)+subscribe 4937.36 ns 0.52 ns 0.56 ns 0.94
immediate_just+flat_map(immediate_just(v*2))+subscribe 21856.75 ns 1746.99 ns 470.62 ns 3.71
immediate_just+buffer(2)+subscribe 10227.89 ns 343.73 ns 69.73 ns 4.93
immediate_just+window(2)+subscribe + subscsribe inner 26043.11 ns 8959.19 ns 2669.65 ns 3.36

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2435.06 ns - - 0.00
immediate_just+take_while(true)+subscribe 2479.89 ns 0.27 ns 0.28 ns 0.97

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 16431.75 ns 0.86 ns 0.28 ns 3.08

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 7858.46 ns 457.80 ns 551.87 ns 0.83
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 9347.30 ns 480.73 ns 547.05 ns 0.88
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 614.91 ns 557.29 ns 1.10
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 9183.01 ns 2355.33 ns 2474.73 ns 0.95
immediate_just(1) + zip(immediate_just(2)) + subscribe 5442.58 ns 943.16 ns 949.30 ns 0.99

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 176.12 ns 92.95 ns 62.40 ns 1.49

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 7304.70 ns 267.05 ns 46.57 ns 5.73
basic sample with immediate scheduler 8987.10 ns 37.99 ns 6.41 ns 5.93

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 5654.41 ns 0.78 ns 0.28 ns 2.81

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 14083.05 ns 13206.07 ns 4907.97 ns 2.69

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 269.66 ns 1.54 ns 1.57 ns 0.99
Subscribe empty callbacks to empty observable via pipe operator 268.20 ns 1.54 ns 1.56 ns 0.99

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 556.91 ns 0.31 ns 0.31 ns 1.01
from array of 1 - create + subscribe + current_thread 798.27 ns 5.55 ns 5.55 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 1921.04 ns 112.80 ns 112.91 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 579.40 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 1494.74 ns 57.07 ns 57.12 ns 1.00
interval - interval + take(3) + subscribe + current_thread 2087.29 ns 30.85 ns 30.86 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 916.18 ns 0.31 ns 0.54 ns 0.57
immediate_just+filter(true)+subscribe 648.62 ns 0.31 ns 0.55 ns 0.57
immediate_just(1,2)+skip(1)+subscribe 851.16 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 695.50 ns 0.62 ns 0.62 ns 1.00
immediate_just(1,2)+first()+subscribe 1111.43 ns 0.31 ns 0.55 ns 0.56
immediate_just(1,2)+last()+subscribe 723.32 ns 0.31 ns 0.51 ns 0.60
immediate_just+take_last(1)+subscribe 942.56 ns 0.31 ns 0.53 ns 0.58

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 193.95 ns 1.54 ns 1.57 ns 0.98
current_thread scheduler create worker + schedule 302.62 ns 5.56 ns 5.57 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 614.81 ns 58.88 ns 62.18 ns 0.95

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 663.17 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 706.24 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 1781.00 ns 122.49 ns 123.69 ns 0.99
immediate_just+buffer(2)+subscribe 1324.82 ns 14.18 ns 13.77 ns 1.03
immediate_just+window(2)+subscribe + subscsribe inner 2188.29 ns 806.81 ns 1234.69 ns 0.65

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1614.47 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 2498.64 ns 125.57 ns 129.78 ns 0.97
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 2964.38 ns 120.63 ns 123.58 ns 0.98
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 111.90 ns 111.88 ns 1.00
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 2637.61 ns 724.38 ns 724.50 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 1781.09 ns 175.17 ns 176.16 ns 0.99

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 23.06 ns 14.49 ns 14.18 ns 1.02

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1016.47 ns 13.57 ns 13.58 ns 1.00
basic sample with immediate scheduler 1023.60 ns 5.86 ns 5.86 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 733.54 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 858.43 ns 126.71 ns 125.53 ns 1.01

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 580.98 ns 4.02 ns 4.94 ns 0.81
Subscribe empty callbacks to empty observable via pipe operator 602.37 ns 4.02 ns 4.93 ns 0.81

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1173.54 ns 5.55 ns 5.55 ns 1.00
from array of 1 - create + subscribe + current_thread 1434.56 ns 20.50 ns 18.51 ns 1.11
concat_as_source of just(1 immediate) create + subscribe 4726.23 ns 174.94 ns 174.94 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 1205.95 ns 5.86 ns 5.86 ns 1.00
interval - interval + take(3) + subscribe + immediate 3097.28 ns 134.53 ns 133.59 ns 1.01
interval - interval + take(3) + subscribe + current_thread 3450.16 ns 58.65 ns 58.78 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1972.54 ns 12.88 ns 12.88 ns 1.00
immediate_just+filter(true)+subscribe 1792.52 ns 12.38 ns 11.72 ns 1.06
immediate_just(1,2)+skip(1)+subscribe 1851.52 ns 13.21 ns 13.19 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1409.39 ns 15.94 ns 15.81 ns 1.01
immediate_just(1,2)+first()+subscribe 2225.92 ns 12.64 ns 12.96 ns 0.98
immediate_just(1,2)+last()+subscribe 1573.35 ns 14.10 ns 14.17 ns 0.99
immediate_just+take_last(1)+subscribe 2113.64 ns 58.91 ns 57.97 ns 1.02

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 486.40 ns 6.17 ns 6.17 ns 1.00
current_thread scheduler create worker + schedule 673.86 ns 19.13 ns 18.20 ns 1.05
current_thread scheduler create worker + schedule + recursive schedule 1108.83 ns 108.91 ns 127.49 ns 0.85

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1366.27 ns 12.29 ns 11.34 ns 1.08
immediate_just+scan(10, std::plus)+subscribe 1486.59 ns 21.27 ns 21.59 ns 0.99
immediate_just+flat_map(immediate_just(v*2))+subscribe 4165.70 ns 230.35 ns 228.37 ns 1.01
immediate_just+buffer(2)+subscribe 2346.44 ns 57.43 ns 57.77 ns 0.99
immediate_just+window(2)+subscribe + subscsribe inner 4172.92 ns 1648.07 ns 1561.68 ns 1.06

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1373.90 ns 11.45 ns 11.44 ns 1.00
immediate_just+take_while(true)+subscribe 1386.99 ns 12.38 ns 11.73 ns 1.06

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 4411.76 ns 8.02 ns 8.02 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5278.26 ns 244.89 ns 245.59 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 6730.81 ns 238.59 ns 233.98 ns 1.02
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 240.76 ns 237.74 ns 1.01
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6552.56 ns 950.00 ns 962.48 ns 0.99
immediate_just(1) + zip(immediate_just(2)) + subscribe 4119.71 ns 526.66 ns 528.66 ns 1.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 40.32 ns 25.91 ns 25.90 ns 1.00

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1949.08 ns 59.84 ns 60.32 ns 0.99
basic sample with immediate scheduler 1949.37 ns 37.03 ns 37.03 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1513.12 ns 17.82 ns 19.96 ns 0.89

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 2040.72 ns 339.50 ns 335.34 ns 1.01

Copy link

sonarcloud bot commented Feb 21, 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 7bae02c into v2 Feb 21, 2024
27 checks passed
@victimsnino victimsnino deleted the dynamic_doc branch February 21, 2024 16:22
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