Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 6, 2025

Bumps peter-evans/commit-comment from 3 to 4.

Release notes

Sourced from peter-evans/commit-comment's releases.

Commit Comment v4.0.0

⚙️ Requires Actions Runner v2.327.1 or later if you are using a self-hosted runner for Node 24 support.

What's Changed

... (truncated)

Commits

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [peter-evans/commit-comment](https://github.com/peter-evans/commit-comment) from 3 to 4.
- [Release notes](https://github.com/peter-evans/commit-comment/releases)
- [Commits](peter-evans/commit-comment@v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/commit-comment
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Oct 6, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 6, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Note

Free review on us!

CodeRabbit is offering free reviews until Wed Oct 08 2025 to showcase some of the refinements we've made.

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2025

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 322.63 ns 1.87 ns 1.87 ns 1.00 1.87 ns
Subscribe empty callbacks to empty observable via pipe operator 302.75 ns 1.87 ns 1.88 ns 0.99 1.87 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 691.01 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 1044.18 ns 3.73 ns 3.73 ns 1.00 3.73 ns
concat_as_source of just(1 immediate) create + subscribe 2261.45 ns 113.32 ns 115.24 ns 0.98 118.40 ns
defer from array of 1 - defer + create + subscribe + immediate 729.19 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2179.72 ns 59.59 ns 59.58 ns 1.00 59.59 ns
interval - interval + take(3) + subscribe + current_thread 3039.04 ns 32.64 ns 32.66 ns 1.00 34.49 ns
from array of 1 - create + as_blocking + subscribe + new_thread 29066.55 ns 29622.70 ns 30281.92 ns 0.98 29291.00 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 43154.56 ns 53001.75 ns 54929.43 ns 0.96 52888.36 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3472.00 ns 131.08 ns 137.07 ns 0.96 145.15 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1091.84 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 841.74 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1022.36 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 854.96 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1240.76 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 917.62 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1125.80 ns 18.33 ns 18.64 ns 0.98 19.58 ns
immediate_just(1,2,3)+element_at(1)+subscribe 834.22 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.53 ns 0.47 ns 1.55 ns 0.30 1.55 ns
current_thread scheduler create worker + schedule 364.68 ns 4.35 ns 4.35 ns 1.00 4.66 ns
current_thread scheduler create worker + schedule + recursive schedule 817.41 ns 61.12 ns 60.99 ns 1.00 61.29 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 858.79 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 943.57 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2310.78 ns 123.35 ns 124.16 ns 0.99 174.68 ns
immediate_just+buffer(2)+subscribe 1551.41 ns 13.68 ns 13.99 ns 0.98 17.42 ns
immediate_just+window(2)+subscribe + subscsribe inner 2380.64 ns 1314.25 ns 1292.53 ns 1.02 1272.23 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 819.38 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 826.51 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 2005.25 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 3443.22 ns 168.48 ns 163.08 ns 1.03 172.92 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3605.39 ns 181.27 ns 157.67 ns 1.15 169.74 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 130.45 ns 140.80 ns 0.93 161.03 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3583.02 ns 387.48 ns 402.64 ns 0.96 392.68 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2223.74 ns 244.18 ns 221.90 ns 1.10 209.54 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3108.46 ns 223.11 ns 230.11 ns 0.97 254.99 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 34.80 ns 14.80 ns 14.79 ns 1.00 14.98 ns
subscribe 100 observers to publish_subject 203882.00 ns 17632.39 ns 19401.95 ns 0.91 18098.37 ns
100 on_next to 100 observers to publish_subject 27490.71 ns 16884.74 ns 26117.59 ns 0.65 16894.29 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1449.85 ns 13.06 ns 13.06 ns 1.00 22.39 ns
basic sample with immediate scheduler 1417.00 ns 5.28 ns 5.28 ns 1.00 16.17 ns
mix operators with disposables and without disposables 6437.47 ns 1422.00 ns 1462.94 ns 0.97 1842.11 ns
single disposable and looooooong indentity chain 24956.76 ns 1037.55 ns 927.82 ns 1.12 5336.55 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 926.50 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 2137.32 ns 996.82 ns 999.00 ns 1.00 999.02 ns
create(on_error())+retry(1)+subscribe 595.10 ns 109.93 ns 113.84 ns 0.97 115.08 ns

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 394.10 ns 0.52 ns 0.51 ns 1.02 0.49 ns
Subscribe empty callbacks to empty observable via pipe operator 392.04 ns 0.52 ns 0.51 ns 1.02 0.49 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 781.49 ns 0.34 ns 0.34 ns 1.01 0.33 ns
from array of 1 - create + subscribe + current_thread 1016.88 ns 4.14 ns 4.07 ns 1.02 3.90 ns
concat_as_source of just(1 immediate) create + subscribe 2290.67 ns 218.93 ns 182.51 ns 1.20 175.28 ns
defer from array of 1 - defer + create + subscribe + immediate 821.26 ns 0.45 ns 0.34 ns 1.31 0.33 ns
interval - interval + take(3) + subscribe + immediate 2148.06 ns 74.52 ns 56.14 ns 1.33 53.66 ns
interval - interval + take(3) + subscribe + current_thread 2649.15 ns 33.31 ns 34.11 ns 0.98 30.90 ns
from array of 1 - create + as_blocking + subscribe + new_thread 35425.78 ns 45491.65 ns 37261.10 ns 1.22 19547.73 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 31177.42 ns 42952.19 ns 31064.52 ns 1.38 24453.71 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3321.11 ns 195.69 ns 195.44 ns 1.00 186.58 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1171.66 ns 0.34 ns 0.34 ns 1.00 0.34 ns
immediate_just+filter(true)+subscribe 899.47 ns 0.36 ns 0.34 ns 1.06 0.34 ns
immediate_just(1,2)+skip(1)+subscribe 1154.34 ns 0.34 ns 0.34 ns 1.00 0.34 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 929.03 ns 0.34 ns 0.34 ns 1.01 0.35 ns
immediate_just(1,2)+first()+subscribe 1433.03 ns 0.34 ns 0.34 ns 1.00 0.34 ns
immediate_just(1,2)+last()+subscribe 2181.37 ns 1.00 ns 1.01 ns 0.99 0.58 ns
immediate_just+take_last(1)+subscribe 1846.45 ns 0.34 ns 0.34 ns 1.00 0.34 ns
immediate_just(1,2,3)+element_at(1)+subscribe 898.66 ns 0.34 ns 0.35 ns 0.99 0.35 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 331.89 ns 0.52 ns 0.51 ns 1.01 0.49 ns
current_thread scheduler create worker + schedule 459.20 ns 4.12 ns 4.11 ns 1.00 3.93 ns
current_thread scheduler create worker + schedule + recursive schedule 883.41 ns 66.92 ns 64.83 ns 1.03 65.14 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 895.08 ns 2.72 ns 4.18 ns 0.65 2.64 ns
immediate_just+scan(10, std::plus)+subscribe 1039.24 ns 0.34 ns 0.34 ns 0.99 0.35 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 4834.44 ns 221.03 ns 211.32 ns 1.05 201.52 ns
immediate_just+buffer(2)+subscribe 1040.47 ns 15.94 ns 15.78 ns 1.01 16.21 ns
immediate_just+window(2)+subscribe + subscsribe inner 2117.14 ns 1086.13 ns 2084.88 ns 0.52 1060.95 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 856.70 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 913.90 ns 0.35 ns 0.34 ns 1.02 0.33 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 2066.79 ns 1.94 ns 1.95 ns 0.99 1.96 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 6954.76 ns 224.63 ns 218.18 ns 1.03 216.96 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3495.14 ns 227.50 ns 214.84 ns 1.06 212.70 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 225.78 ns 409.60 ns 0.55 214.39 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 7216.43 ns 578.59 ns 555.09 ns 1.04 533.86 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2154.11 ns 338.45 ns 334.62 ns 1.01 335.67 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 6621.16 ns 351.17 ns 641.70 ns 0.55 332.36 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 46.79 ns 23.69 ns 34.52 ns 0.69 22.79 ns
subscribe 100 observers to publish_subject 143432.25 ns 19516.86 ns 18264.12 ns 1.07 18119.88 ns
100 on_next to 100 observers to publish_subject 36504.51 ns 12081.55 ns 11858.68 ns 1.02 11554.20 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1339.15 ns 11.15 ns 10.85 ns 1.03 28.23 ns
basic sample with immediate scheduler 1327.52 ns 6.98 ns 7.06 ns 0.99 10.15 ns
mix operators with disposables and without disposables 5878.38 ns 1484.44 ns 1459.24 ns 1.02 1726.10 ns
single disposable and looooooong indentity chain 16677.39 ns 1765.57 ns 2009.99 ns 0.88 3956.81 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1059.64 ns 0.47 ns 0.34 ns 1.38 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 3882.65 ns 2962.85 ns 2889.43 ns 1.03 2854.81 ns
create(on_error())+retry(1)+subscribe 1514.58 ns 233.08 ns 192.13 ns 1.21 187.32 ns

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 270.82 ns 0.64 ns 1.56 ns 0.41 1.56 ns
Subscribe empty callbacks to empty observable via pipe operator 273.01 ns 0.64 ns 1.55 ns 0.41 1.55 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 577.15 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 799.92 ns 4.04 ns 4.04 ns 1.00 4.04 ns
concat_as_source of just(1 immediate) create + subscribe 2406.06 ns 130.14 ns 131.52 ns 0.99 130.87 ns
defer from array of 1 - defer + create + subscribe + immediate 802.90 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2277.94 ns 58.71 ns 58.71 ns 1.00 58.66 ns
interval - interval + take(3) + subscribe + current_thread 3205.74 ns 31.08 ns 31.08 ns 1.00 31.71 ns
from array of 1 - create + as_blocking + subscribe + new_thread 30767.53 ns 30113.09 ns 29707.10 ns 1.01 29777.38 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 41784.89 ns 37337.27 ns 37291.72 ns 1.00 38418.94 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3726.44 ns 147.83 ns 150.32 ns 0.98 148.56 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1185.93 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 882.59 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1112.80 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 908.18 ns 0.33 ns 0.33 ns 1.02 0.33 ns
immediate_just(1,2)+first()+subscribe 1423.05 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 1039.93 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1217.53 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2,3)+element_at(1)+subscribe 899.26 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 279.82 ns 1.55 ns 0.64 ns 2.44 0.64 ns
current_thread scheduler create worker + schedule 412.82 ns 4.04 ns 4.35 ns 0.93 4.04 ns
current_thread scheduler create worker + schedule + recursive schedule 888.52 ns 55.66 ns 55.29 ns 1.01 59.00 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 875.62 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 1002.26 ns 0.62 ns 0.62 ns 1.00 0.35 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2318.95 ns 139.99 ns 137.71 ns 1.02 135.85 ns
immediate_just+buffer(2)+subscribe 1551.96 ns 14.31 ns 13.99 ns 1.02 14.91 ns
immediate_just+window(2)+subscribe + subscsribe inner 2491.42 ns 908.69 ns 910.87 ns 1.00 906.21 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 872.75 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 890.05 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 2063.21 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 3318.17 ns 162.31 ns 160.12 ns 1.01 155.46 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3781.35 ns 142.82 ns 138.59 ns 1.03 140.48 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 143.10 ns 142.88 ns 1.00 138.54 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3440.50 ns 380.79 ns 380.46 ns 1.00 380.30 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2289.90 ns 197.74 ns 200.78 ns 0.98 201.74 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3231.72 ns 224.27 ns 223.42 ns 1.00 225.59 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 52.57 ns 19.84 ns 19.75 ns 1.00 23.01 ns
subscribe 100 observers to publish_subject 210563.80 ns 17483.88 ns 17680.07 ns 0.99 17412.19 ns
100 on_next to 100 observers to publish_subject 46101.23 ns 20219.80 ns 20240.20 ns 1.00 20259.72 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1336.39 ns 11.50 ns 11.49 ns 1.00 20.83 ns
basic sample with immediate scheduler 1365.70 ns 5.90 ns 5.90 ns 1.00 6.52 ns
mix operators with disposables and without disposables 6654.01 ns 1151.74 ns 1176.31 ns 0.98 1460.06 ns
single disposable and looooooong indentity chain 27659.81 ns 1240.86 ns 1250.16 ns 0.99 4657.64 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1021.52 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 2213.19 ns 1156.29 ns 1161.20 ns 1.00 1189.54 ns
create(on_error())+retry(1)+subscribe 671.08 ns 139.40 ns 146.86 ns 0.95 139.90 ns

ci-windows

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 556.07 ns 2.16 ns 2.16 ns 1.00 1.85 ns
Subscribe empty callbacks to empty observable via pipe operator 572.10 ns 2.16 ns 2.16 ns 1.00 1.85 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1155.57 ns 4.93 ns 4.94 ns 1.00 5.55 ns
from array of 1 - create + subscribe + current_thread 1419.82 ns 15.75 ns 15.74 ns 1.00 15.45 ns
concat_as_source of just(1 immediate) create + subscribe 3696.46 ns 174.60 ns 174.62 ns 1.00 178.05 ns
defer from array of 1 - defer + create + subscribe + immediate 1180.65 ns 5.24 ns 5.24 ns 1.00 5.24 ns
interval - interval + take(3) + subscribe + immediate 3736.36 ns 139.81 ns 139.74 ns 1.00 142.29 ns
interval - interval + take(3) + subscribe + current_thread 3460.30 ns 60.15 ns 59.86 ns 1.00 62.80 ns
from array of 1 - create + as_blocking + subscribe + new_thread 123175.00 ns 118700.00 ns 120400.00 ns 0.99 119788.89 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 132655.56 ns 135675.00 ns 136975.00 ns 0.99 137275.00 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5329.67 ns 206.57 ns 201.39 ns 1.03 215.13 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1818.86 ns 19.42 ns 19.42 ns 1.00 21.36 ns
immediate_just+filter(true)+subscribe 1610.58 ns 18.50 ns 18.51 ns 1.00 21.59 ns
immediate_just(1,2)+skip(1)+subscribe 2008.80 ns 17.89 ns 17.91 ns 1.00 21.60 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1328.95 ns 20.67 ns 20.68 ns 1.00 26.86 ns
immediate_just(1,2)+first()+subscribe 2372.16 ns 18.20 ns 18.21 ns 1.00 19.43 ns
immediate_just(1,2)+last()+subscribe 1464.98 ns 19.13 ns 19.15 ns 1.00 22.84 ns
immediate_just+take_last(1)+subscribe 2023.02 ns 64.85 ns 64.93 ns 1.00 70.17 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1622.12 ns 20.97 ns 20.98 ns 1.00 21.63 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 477.39 ns 4.32 ns 4.32 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule 648.68 ns 11.11 ns 11.11 ns 1.00 11.11 ns
current_thread scheduler create worker + schedule + recursive schedule 1079.50 ns 103.96 ns 101.36 ns 1.03 103.12 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1328.23 ns 18.80 ns 18.80 ns 1.00 21.63 ns
immediate_just+scan(10, std::plus)+subscribe 1422.12 ns 20.96 ns 20.96 ns 1.00 23.80 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3837.33 ns 186.30 ns 185.11 ns 1.01 223.46 ns
immediate_just+buffer(2)+subscribe 2291.50 ns 64.26 ns 63.51 ns 1.01 72.33 ns
immediate_just+window(2)+subscribe + subscsribe inner 3974.07 ns 1216.92 ns 1192.15 ns 1.02 1226.57 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1305.28 ns 17.57 ns 17.57 ns 1.00 19.13 ns
immediate_just+take_while(true)+subscribe 1329.92 ns 18.50 ns 18.50 ns 1.00 21.60 ns

Utility Operators

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

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5054.46 ns 197.43 ns 195.27 ns 1.01 222.13 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5710.11 ns 186.78 ns 178.89 ns 1.04 204.81 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 195.15 ns 194.65 ns 1.00 199.56 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6119.16 ns 444.60 ns 443.65 ns 1.00 489.05 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 3865.37 ns 538.25 ns 519.56 ns 1.04 516.04 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4853.97 ns 314.42 ns 314.38 ns 1.00 325.14 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 36.72 ns 29.42 ns 29.27 ns 1.01 30.01 ns
subscribe 100 observers to publish_subject 264250.00 ns 25013.33 ns 25450.00 ns 0.98 24830.23 ns
100 on_next to 100 observers to publish_subject 51881.82 ns 35939.39 ns 35922.58 ns 1.00 32997.22 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1853.25 ns 96.57 ns 96.80 ns 1.00 112.11 ns
basic sample with immediate scheduler 1857.89 ns 66.73 ns 68.51 ns 0.97 82.35 ns
mix operators with disposables and without disposables 9381.75 ns 1787.22 ns 1797.99 ns 0.99 2439.19 ns
single disposable and looooooong indentity chain 25641.46 ns 1655.18 ns 1630.37 ns 1.02 6267.21 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1458.16 ns 19.11 ns 19.11 ns 1.00 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 1896.36 ns 357.24 ns 353.06 ns 1.01 380.86 ns
create(on_error())+retry(1)+subscribe 1721.11 ns 138.15 ns 137.92 ns 1.00 139.85 ns

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant