Skip to content

Commit

Permalink
Bump codecov/codecov-action from 4 to 5 (#683)
Browse files Browse the repository at this point in the history
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aleksey Loginov <victimsnino@gmail.com>
  • Loading branch information
dependabot[bot] and victimsnino authored Dec 3, 2024
1 parent a670827 commit 2b43675
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/analyzers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ jobs:
sourceRunId: ${{ github.event.workflow_run.id }}

- name: Submit to codecov.io
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
file: build/test_results/coverage.txt
override_branch: ${{ github.event.workflow_run.head_branch }}
Expand Down

1 comment on commit 2b43675

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 302.74 ns 1.85 ns 1.85 ns 1.00 1.85 ns
Subscribe empty callbacks to empty observable via pipe operator 310.15 ns 1.85 ns 1.85 ns 1.00 1.85 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 703.14 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 1064.05 ns 3.42 ns 3.42 ns 1.00 3.71 ns
concat_as_source of just(1 immediate) create + subscribe 2247.13 ns 112.36 ns 115.78 ns 0.97 120.07 ns
defer from array of 1 - defer + create + subscribe + immediate 726.23 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2154.27 ns 59.19 ns 59.23 ns 1.00 59.23 ns
interval - interval + take(3) + subscribe + current_thread 2961.28 ns 32.42 ns 32.43 ns 1.00 33.97 ns
from array of 1 - create + as_blocking + subscribe + new_thread 27624.00 ns 27755.85 ns 27848.76 ns 1.00 28367.70 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 37475.41 ns 50731.86 ns 51871.00 ns 0.98 51873.05 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3513.09 ns 130.33 ns 134.57 ns 0.97 150.72 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1078.92 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 845.01 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 994.50 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 876.94 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1247.98 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 914.30 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1095.11 ns 17.90 ns 17.91 ns 1.00 19.15 ns
immediate_just(1,2,3)+element_at(1)+subscribe 846.85 ns 0.31 ns 0.31 ns 1.00 0.31 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 286.65 ns 1.54 ns 1.54 ns 1.00 1.54 ns
current_thread scheduler create worker + schedule 363.71 ns 4.94 ns 4.94 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule + recursive schedule 806.30 ns 60.78 ns 60.82 ns 1.00 60.48 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 870.22 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 878.56 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2327.74 ns 163.90 ns 143.11 ns 1.15 167.86 ns
immediate_just+buffer(2)+subscribe 1583.32 ns 13.59 ns 13.62 ns 1.00 18.22 ns
immediate_just+window(2)+subscribe + subscsribe inner 2368.77 ns 1307.39 ns 1341.59 ns 0.97 1273.72 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 824.97 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 856.41 ns 0.31 ns 0.31 ns 1.00 0.31 ns

Utility Operators

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

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3472.02 ns 136.68 ns 144.86 ns 0.94 173.24 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3711.53 ns 191.75 ns 157.28 ns 1.22 162.57 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 140.56 ns 138.68 ns 1.01 156.28 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3537.09 ns 402.33 ns 392.73 ns 1.02 390.11 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2133.89 ns 212.63 ns 214.03 ns 0.99 214.36 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3141.97 ns 221.63 ns 222.68 ns 1.00 263.80 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 34.46 ns 35.41 ns 14.72 ns 2.41 15.74 ns
subscribe 100 observers to publish_subject 199401.67 ns 16607.48 ns 15772.85 ns 1.05 16623.00 ns
100 on_next to 100 observers to publish_subject 26772.47 ns 20050.90 ns 17282.15 ns 1.16 22176.48 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1470.83 ns 13.27 ns 13.28 ns 1.00 24.39 ns
basic sample with immediate scheduler 1386.88 ns 5.55 ns 5.55 ns 1.00 19.13 ns
mix operators with disposables and without disposables 6311.71 ns 1434.37 ns 1443.66 ns 0.99 1896.84 ns
single disposable and looooooong indentity chain 23458.14 ns 988.24 ns 978.48 ns 1.01 5151.79 ns

Aggregating Operators

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

Error Handling Operators

name rxcpp rpp prev rpp ratio rpp no optimization
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 2068.78 ns 1009.68 ns 1008.47 ns 1.00 1005.25 ns
create(on_error())+retry(1)+subscribe 591.31 ns 113.99 ns 110.24 ns 1.03 117.94 ns

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 479.61 ns 1.05 ns 0.50 ns 2.08 0.50 ns
Subscribe empty callbacks to empty observable via pipe operator 394.10 ns 1.08 ns 0.50 ns 2.15 0.50 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 746.67 ns 0.34 ns 0.34 ns 1.00 0.34 ns
from array of 1 - create + subscribe + current_thread 983.31 ns 4.39 ns 4.38 ns 1.00 4.08 ns
concat_as_source of just(1 immediate) create + subscribe 2239.35 ns 333.70 ns 181.96 ns 1.83 160.73 ns
defer from array of 1 - defer + create + subscribe + immediate 811.40 ns 0.34 ns 0.49 ns 0.69 0.32 ns
interval - interval + take(3) + subscribe + immediate 2675.95 ns 55.12 ns 55.08 ns 1.00 49.65 ns
interval - interval + take(3) + subscribe + current_thread 2769.44 ns 33.11 ns 32.12 ns 1.03 29.73 ns
from array of 1 - create + as_blocking + subscribe + new_thread 20776.04 ns 18595.13 ns 51177.73 ns 0.36 21796.38 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 38626.41 ns 23384.70 ns 31483.11 ns 0.74 25406.74 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3218.72 ns 192.57 ns 237.56 ns 0.81 191.62 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1176.02 ns 0.34 ns 0.34 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 874.41 ns 0.34 ns 0.34 ns 1.02 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1150.31 ns 0.34 ns 0.34 ns 1.01 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 899.08 ns 0.35 ns 0.35 ns 0.99 0.34 ns
immediate_just(1,2)+first()+subscribe 1405.78 ns 0.34 ns 0.34 ns 1.01 0.31 ns
immediate_just(1,2)+last()+subscribe 1038.95 ns 1.02 ns 0.98 ns 1.04 0.53 ns
immediate_just+take_last(1)+subscribe 1195.81 ns 0.34 ns 0.34 ns 1.01 0.31 ns
immediate_just(1,2,3)+element_at(1)+subscribe 868.10 ns 0.34 ns 0.48 ns 0.70 0.34 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 321.13 ns 1.01 ns 1.47 ns 0.69 0.50 ns
current_thread scheduler create worker + schedule 461.87 ns 4.48 ns 9.49 ns 0.47 4.20 ns
current_thread scheduler create worker + schedule + recursive schedule 759.31 ns 66.94 ns 89.21 ns 0.75 64.11 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 868.41 ns 2.76 ns 2.65 ns 1.04 2.45 ns
immediate_just+scan(10, std::plus)+subscribe 991.98 ns 0.34 ns 0.43 ns 0.79 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2178.72 ns 204.84 ns 196.47 ns 1.04 183.56 ns
immediate_just+buffer(2)+subscribe 1038.67 ns 17.24 ns 16.51 ns 1.04 16.02 ns
immediate_just+window(2)+subscribe + subscsribe inner 2060.63 ns 1088.11 ns 1073.91 ns 1.01 1003.92 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 855.45 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 863.95 ns 0.49 ns 0.34 ns 1.44 0.34 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 1973.48 ns 1.96 ns 1.86 ns 1.05 1.91 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3005.42 ns 219.41 ns 400.56 ns 0.55 209.81 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3281.05 ns 218.89 ns 214.54 ns 1.02 205.98 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 262.41 ns 218.46 ns 1.20 208.41 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3136.44 ns 543.44 ns 536.10 ns 1.01 500.18 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2165.39 ns 354.44 ns 348.19 ns 1.02 371.26 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3057.41 ns 354.17 ns 346.86 ns 1.02 321.69 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 66.96 ns 20.41 ns 20.36 ns 1.00 22.29 ns
subscribe 100 observers to publish_subject 136968.75 ns 16760.26 ns 16738.97 ns 1.00 17580.82 ns
100 on_next to 100 observers to publish_subject 34818.36 ns 14767.09 ns 14971.43 ns 0.99 14929.99 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1282.97 ns 12.26 ns 16.85 ns 0.73 26.31 ns
basic sample with immediate scheduler 1276.87 ns 5.44 ns 10.73 ns 0.51 12.73 ns
mix operators with disposables and without disposables 5705.33 ns 1555.30 ns 1547.98 ns 1.00 1779.08 ns
single disposable and looooooong indentity chain 16234.23 ns 1903.27 ns 1660.96 ns 1.15 3700.03 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1031.04 ns 0.54 ns 0.37 ns 1.44 0.34 ns

Error Handling Operators

name rxcpp rpp prev rpp ratio rpp no optimization
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 3607.22 ns 2996.72 ns 2812.15 ns 1.07 2713.38 ns
create(on_error())+retry(1)+subscribe 718.87 ns 180.66 ns 210.12 ns 0.86 188.08 ns

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 276.57 ns 0.63 ns 1.54 ns 0.41 1.54 ns
Subscribe empty callbacks to empty observable via pipe operator 274.42 ns 0.63 ns 1.54 ns 0.41 1.54 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 572.67 ns 0.42 ns 0.31 ns 1.37 0.31 ns
from array of 1 - create + subscribe + current_thread 790.86 ns 4.01 ns 4.01 ns 1.00 4.01 ns
concat_as_source of just(1 immediate) create + subscribe 2319.35 ns 128.49 ns 129.02 ns 1.00 128.75 ns
defer from array of 1 - defer + create + subscribe + immediate 774.34 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2228.73 ns 58.26 ns 58.26 ns 1.00 58.26 ns
interval - interval + take(3) + subscribe + current_thread 3210.29 ns 30.86 ns 30.86 ns 1.00 31.47 ns
from array of 1 - create + as_blocking + subscribe + new_thread 28609.56 ns 29288.34 ns 28121.43 ns 1.04 28294.55 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 42747.61 ns 40397.63 ns 35289.03 ns 1.14 36350.93 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3682.80 ns 148.34 ns 148.65 ns 1.00 147.68 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1165.64 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 850.69 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1110.55 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 878.52 ns 0.62 ns 0.62 ns 0.99 0.31 ns
immediate_just(1,2)+first()+subscribe 1374.98 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 994.48 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1187.86 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2,3)+element_at(1)+subscribe 860.79 ns 0.31 ns 0.31 ns 1.00 0.31 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 277.52 ns 1.55 ns 0.63 ns 2.44 0.63 ns
current_thread scheduler create worker + schedule 394.88 ns 4.02 ns 4.01 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule + recursive schedule 854.16 ns 54.61 ns 57.13 ns 0.96 54.93 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 851.18 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 944.93 ns 0.31 ns 0.31 ns 1.01 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2236.53 ns 140.53 ns 140.08 ns 1.00 137.18 ns
immediate_just+buffer(2)+subscribe 1516.68 ns 13.59 ns 13.89 ns 0.98 14.19 ns
immediate_just+window(2)+subscribe + subscsribe inner 2397.78 ns 907.78 ns 912.01 ns 1.00 922.60 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 833.90 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 844.82 ns 0.31 ns 0.31 ns 1.00 0.31 ns

Utility Operators

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

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3220.06 ns 161.54 ns 160.86 ns 1.00 155.08 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3739.88 ns 142.15 ns 139.99 ns 1.02 139.35 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 141.96 ns 142.27 ns 1.00 138.66 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3364.98 ns 377.21 ns 376.64 ns 1.00 377.93 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2253.29 ns 195.59 ns 196.99 ns 0.99 197.73 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3264.91 ns 231.34 ns 223.33 ns 1.04 225.48 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 52.07 ns 17.72 ns 17.74 ns 1.00 18.22 ns
subscribe 100 observers to publish_subject 209553.00 ns 16026.62 ns 16104.08 ns 1.00 16149.47 ns
100 on_next to 100 observers to publish_subject 42815.33 ns 23516.23 ns 23498.69 ns 1.00 23603.73 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1307.18 ns 11.12 ns 11.11 ns 1.00 19.77 ns
basic sample with immediate scheduler 1296.09 ns 5.87 ns 5.86 ns 1.00 6.47 ns
mix operators with disposables and without disposables 6447.59 ns 1171.68 ns 1161.91 ns 1.01 1486.36 ns
single disposable and looooooong indentity chain 27820.50 ns 1231.22 ns 1257.04 ns 0.98 4569.73 ns

Aggregating Operators

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

Error Handling Operators

name rxcpp rpp prev rpp ratio rpp no optimization
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 2202.17 ns 1160.07 ns 1152.91 ns 1.01 1150.50 ns
create(on_error())+retry(1)+subscribe 642.85 ns 139.06 ns 138.23 ns 1.01 138.00 ns

ci-windows

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 584.03 ns 1.85 ns 2.16 ns 0.86 1.85 ns
Subscribe empty callbacks to empty observable via pipe operator 602.26 ns 1.85 ns 2.16 ns 0.86 1.85 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1170.92 ns 5.86 ns 5.86 ns 1.00 4.93 ns
from array of 1 - create + subscribe + current_thread 1439.72 ns 15.74 ns 15.74 ns 1.00 15.44 ns
concat_as_source of just(1 immediate) create + subscribe 3732.90 ns 172.09 ns 164.88 ns 1.04 176.88 ns
defer from array of 1 - defer + create + subscribe + immediate 1202.63 ns 5.55 ns 5.55 ns 1.00 5.24 ns
interval - interval + take(3) + subscribe + immediate 3477.45 ns 141.05 ns 139.98 ns 1.01 142.12 ns
interval - interval + take(3) + subscribe + current_thread 3575.86 ns 58.61 ns 59.73 ns 0.98 61.53 ns
from array of 1 - create + as_blocking + subscribe + new_thread 124525.00 ns 118530.00 ns 110700.00 ns 1.07 114844.44 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 133888.89 ns 133750.00 ns 129950.00 ns 1.03 134942.86 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5354.17 ns 204.68 ns 203.76 ns 1.00 202.66 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1845.83 ns 19.73 ns 19.43 ns 1.02 21.29 ns
immediate_just+filter(true)+subscribe 1331.86 ns 18.81 ns 18.50 ns 1.02 21.59 ns
immediate_just(1,2)+skip(1)+subscribe 2006.70 ns 18.50 ns 17.91 ns 1.03 21.61 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1365.84 ns 23.45 ns 20.71 ns 1.13 26.86 ns
immediate_just(1,2)+first()+subscribe 2380.05 ns 17.28 ns 18.20 ns 0.95 19.45 ns
immediate_just(1,2)+last()+subscribe 1477.78 ns 18.51 ns 19.12 ns 0.97 22.83 ns
immediate_just+take_last(1)+subscribe 2017.08 ns 64.78 ns 63.83 ns 1.01 67.32 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1351.04 ns 21.91 ns 22.41 ns 0.98 23.45 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 494.27 ns 4.94 ns 4.94 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule 666.82 ns 11.17 ns 11.79 ns 0.95 11.15 ns
current_thread scheduler create worker + schedule + recursive schedule 1124.71 ns 99.77 ns 96.91 ns 1.03 100.38 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1331.72 ns 18.81 ns 18.82 ns 1.00 21.64 ns
immediate_just+scan(10, std::plus)+subscribe 1434.62 ns 20.96 ns 20.96 ns 1.00 23.75 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3492.13 ns 183.53 ns 180.47 ns 1.02 205.15 ns
immediate_just+buffer(2)+subscribe 2326.14 ns 64.24 ns 63.88 ns 1.01 69.39 ns
immediate_just+window(2)+subscribe + subscsribe inner 4060.50 ns 1291.90 ns 1296.31 ns 1.00 1320.54 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1316.11 ns 17.57 ns 17.57 ns 1.00 19.11 ns
immediate_just+take_while(true)+subscribe 1329.18 ns 18.81 ns 18.50 ns 1.02 21.58 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 3273.77 ns 11.10 ns 11.10 ns 1.00 11.10 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5125.58 ns 197.41 ns 201.00 ns 0.98 225.91 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5773.03 ns 188.15 ns 190.02 ns 0.99 192.41 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 186.65 ns 187.60 ns 0.99 195.02 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 5765.73 ns 438.52 ns 438.39 ns 1.00 449.21 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 3600.00 ns 521.89 ns 524.99 ns 0.99 515.85 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4872.65 ns 335.13 ns 322.99 ns 1.04 340.50 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 36.11 ns 19.78 ns 19.83 ns 1.00 20.65 ns
subscribe 100 observers to publish_subject 261300.00 ns 27805.88 ns 27343.90 ns 1.02 27419.05 ns
100 on_next to 100 observers to publish_subject 55057.14 ns 32683.87 ns 32690.32 ns 1.00 39248.28 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1911.82 ns 96.45 ns 96.37 ns 1.00 111.45 ns
basic sample with immediate scheduler 1956.12 ns 68.52 ns 67.02 ns 1.02 81.56 ns
mix operators with disposables and without disposables 10042.86 ns 1929.09 ns 1933.63 ns 1.00 2682.46 ns
single disposable and looooooong indentity chain 26790.24 ns 1747.96 ns 1725.30 ns 1.01 6401.67 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1463.99 ns 19.42 ns 19.12 ns 1.02 22.83 ns

Error Handling Operators

name rxcpp rpp prev rpp ratio rpp no optimization
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 1939.47 ns 355.88 ns 387.48 ns 0.92 364.26 ns
create(on_error())+retry(1)+subscribe 1718.23 ns 141.20 ns 143.16 ns 0.99 139.15 ns

Please sign in to comment.