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

[pre-commit.ci] pre-commit autoupdate #695

Merged
merged 1 commit into from
Jan 7, 2025
Merged

Conversation

pre-commit-ci[bot]
Copy link
Contributor

@pre-commit-ci pre-commit-ci bot commented Jan 6, 2025

updates:
- [github.com/pre-commit/mirrors-clang-format: v19.1.5 → v19.1.6](pre-commit/mirrors-clang-format@v19.1.5...v19.1.6)
Copy link
Contributor

coderabbitai bot commented Jan 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.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

github-actions bot commented Jan 6, 2025

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 306.19 ns 1.56 ns 1.87 ns 0.83 1.85 ns
Subscribe empty callbacks to empty observable via pipe operator 302.88 ns 1.54 ns 1.85 ns 0.83 1.85 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 687.64 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 1031.49 ns 3.42 ns 3.42 ns 1.00 3.71 ns
concat_as_source of just(1 immediate) create + subscribe 2274.06 ns 112.11 ns 119.27 ns 0.94 115.60 ns
defer from array of 1 - defer + create + subscribe + immediate 720.26 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2150.29 ns 59.19 ns 59.27 ns 1.00 59.23 ns
interval - interval + take(3) + subscribe + current_thread 3070.46 ns 32.43 ns 32.43 ns 1.00 34.00 ns
from array of 1 - create + as_blocking + subscribe + new_thread 30637.00 ns 27566.00 ns 27560.66 ns 1.00 28343.35 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 43137.71 ns 52378.40 ns 52602.73 ns 1.00 51483.67 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3559.27 ns 131.25 ns 135.02 ns 0.97 146.46 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1087.21 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 832.60 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1008.42 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 920.09 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1252.96 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 911.27 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1096.87 ns 18.20 ns 17.90 ns 1.02 19.76 ns
immediate_just(1,2,3)+element_at(1)+subscribe 855.86 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 266.02 ns 0.62 ns 1.54 ns 0.40 0.46 ns
current_thread scheduler create worker + schedule 369.15 ns 4.94 ns 4.94 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule + recursive schedule 855.26 ns 60.76 ns 60.77 ns 1.00 60.59 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 827.69 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 893.09 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2318.51 ns 149.95 ns 144.10 ns 1.04 162.17 ns
immediate_just+buffer(2)+subscribe 1543.93 ns 13.89 ns 13.59 ns 1.02 18.64 ns
immediate_just+window(2)+subscribe + subscsribe inner 2411.73 ns 1333.12 ns 1310.25 ns 1.02 1331.13 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 842.38 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 850.61 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 1976.16 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 3429.70 ns 137.87 ns 138.04 ns 1.00 171.17 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3681.39 ns 177.52 ns 157.91 ns 1.12 159.74 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 130.40 ns 139.60 ns 0.93 160.73 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3531.69 ns 384.85 ns 411.68 ns 0.93 376.34 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2130.65 ns 210.14 ns 220.99 ns 0.95 211.52 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3141.78 ns 225.30 ns 230.22 ns 0.98 257.76 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 34.45 ns 14.67 ns 14.70 ns 1.00 15.76 ns
subscribe 100 observers to publish_subject 201033.60 ns 15990.05 ns 15889.50 ns 1.01 15815.99 ns
100 on_next to 100 observers to publish_subject 27755.29 ns 17176.27 ns 17257.79 ns 1.00 20538.78 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1467.42 ns 13.27 ns 13.27 ns 1.00 24.40 ns
basic sample with immediate scheduler 1426.19 ns 5.55 ns 5.55 ns 1.00 19.16 ns
mix operators with disposables and without disposables 6427.46 ns 1397.45 ns 1400.11 ns 1.00 1860.43 ns
single disposable and looooooong indentity chain 23901.56 ns 983.99 ns 1112.08 ns 0.88 4752.56 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 908.79 ns 0.31 ns 0.31 ns 1.01 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 2037.08 ns 1051.65 ns 989.75 ns 1.06 990.00 ns
create(on_error())+retry(1)+subscribe 612.13 ns 109.31 ns 110.83 ns 0.99 114.16 ns

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 384.74 ns 0.51 ns 0.49 ns 1.04 0.51 ns
Subscribe empty callbacks to empty observable via pipe operator 398.80 ns 0.50 ns 0.48 ns 1.04 0.52 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 751.06 ns 0.33 ns 0.33 ns 1.03 0.34 ns
from array of 1 - create + subscribe + current_thread 986.55 ns 4.35 ns 4.37 ns 1.00 4.21 ns
concat_as_source of just(1 immediate) create + subscribe 2200.98 ns 173.14 ns 166.31 ns 1.04 175.30 ns
defer from array of 1 - defer + create + subscribe + immediate 795.55 ns 0.34 ns 0.33 ns 1.03 0.34 ns
interval - interval + take(3) + subscribe + immediate 2114.43 ns 55.33 ns 55.79 ns 0.99 98.84 ns
interval - interval + take(3) + subscribe + current_thread 2564.15 ns 32.05 ns 32.21 ns 1.00 31.86 ns
from array of 1 - create + as_blocking + subscribe + new_thread 20560.19 ns 23777.77 ns 19737.80 ns 1.20 36093.42 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 27966.42 ns 23824.07 ns 25830.53 ns 0.92 27667.63 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3251.73 ns 191.09 ns 182.12 ns 1.05 199.00 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1160.94 ns 0.34 ns 0.34 ns 1.00 0.32 ns
immediate_just+filter(true)+subscribe 855.30 ns 0.34 ns 0.34 ns 0.99 0.34 ns
immediate_just(1,2)+skip(1)+subscribe 1124.31 ns 0.34 ns 0.34 ns 0.99 0.34 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 886.51 ns 0.34 ns 0.34 ns 1.00 0.36 ns
immediate_just(1,2)+first()+subscribe 1380.73 ns 0.36 ns 0.34 ns 1.07 0.34 ns
immediate_just(1,2)+last()+subscribe 1023.27 ns 0.99 ns 0.96 ns 1.03 1.00 ns
immediate_just+take_last(1)+subscribe 1250.14 ns 0.49 ns 0.34 ns 1.42 0.34 ns
immediate_just(1,2,3)+element_at(1)+subscribe 862.26 ns 0.34 ns 0.34 ns 0.99 0.34 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 318.15 ns 0.51 ns 0.51 ns 1.00 0.50 ns
current_thread scheduler create worker + schedule 455.55 ns 4.44 ns 4.42 ns 1.00 4.37 ns
current_thread scheduler create worker + schedule + recursive schedule 761.47 ns 68.50 ns 67.11 ns 1.02 67.12 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 865.14 ns 2.71 ns 2.74 ns 0.99 2.80 ns
immediate_just+scan(10, std::plus)+subscribe 999.92 ns 0.34 ns 0.34 ns 0.98 0.34 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2198.21 ns 198.27 ns 199.75 ns 0.99 200.26 ns
immediate_just+buffer(2)+subscribe 1030.61 ns 16.74 ns 16.77 ns 1.00 16.48 ns
immediate_just+window(2)+subscribe + subscsribe inner 2019.50 ns 1096.05 ns 1095.41 ns 1.00 1034.51 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 857.38 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 859.33 ns 0.34 ns 0.34 ns 0.99 0.34 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 1963.14 ns 1.90 ns 1.99 ns 0.95 1.97 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3020.95 ns 220.83 ns 220.18 ns 1.00 354.29 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3287.74 ns 217.55 ns 217.60 ns 1.00 220.80 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 220.09 ns 220.94 ns 1.00 226.20 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3151.39 ns 580.91 ns 546.39 ns 1.06 545.30 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2123.08 ns 362.65 ns 354.67 ns 1.02 350.70 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3064.38 ns 348.71 ns 354.70 ns 0.98 359.51 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 44.29 ns 20.15 ns 20.11 ns 1.00 22.41 ns
subscribe 100 observers to publish_subject 136506.00 ns 16490.53 ns 16545.03 ns 1.00 17048.62 ns
100 on_next to 100 observers to publish_subject 34619.06 ns 14833.87 ns 14918.95 ns 0.99 15293.50 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1274.23 ns 12.30 ns 12.35 ns 1.00 26.78 ns
basic sample with immediate scheduler 1272.46 ns 5.54 ns 5.51 ns 1.01 13.13 ns
mix operators with disposables and without disposables 5696.49 ns 1510.96 ns 1515.46 ns 1.00 1822.06 ns
single disposable and looooooong indentity chain 16377.53 ns 1684.38 ns 1701.41 ns 0.99 4304.09 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1040.21 ns 0.34 ns 0.34 ns 0.99 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 3593.69 ns 2795.10 ns 2797.74 ns 1.00 2788.94 ns
create(on_error())+retry(1)+subscribe 720.37 ns 181.46 ns 180.36 ns 1.01 186.22 ns

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 274.84 ns 1.54 ns 1.54 ns 1.00 0.64 ns
Subscribe empty callbacks to empty observable via pipe operator 278.30 ns 1.54 ns 1.54 ns 1.00 0.63 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 572.20 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 786.77 ns 4.01 ns 4.01 ns 1.00 4.01 ns
concat_as_source of just(1 immediate) create + subscribe 2352.31 ns 133.84 ns 129.29 ns 1.04 128.55 ns
defer from array of 1 - defer + create + subscribe + immediate 773.66 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2207.32 ns 58.30 ns 58.58 ns 1.00 58.31 ns
interval - interval + take(3) + subscribe + current_thread 3173.37 ns 30.88 ns 30.86 ns 1.00 31.50 ns
from array of 1 - create + as_blocking + subscribe + new_thread 30065.56 ns 28297.27 ns 28138.41 ns 1.01 28181.20 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 39521.62 ns 36695.43 ns 33594.94 ns 1.09 33283.57 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3710.30 ns 152.70 ns 148.69 ns 1.03 150.18 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1150.78 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 843.35 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1069.15 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 868.54 ns 0.62 ns 0.62 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1407.26 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 1007.63 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1184.80 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2,3)+element_at(1)+subscribe 857.88 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 284.27 ns 0.63 ns 0.63 ns 1.00 1.54 ns
current_thread scheduler create worker + schedule 397.22 ns 4.32 ns 4.01 ns 1.08 4.01 ns
current_thread scheduler create worker + schedule + recursive schedule 861.97 ns 55.31 ns 55.26 ns 1.00 55.07 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 849.60 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 962.07 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2260.98 ns 140.54 ns 140.68 ns 1.00 137.24 ns
immediate_just+buffer(2)+subscribe 1526.16 ns 13.81 ns 13.59 ns 1.02 14.19 ns
immediate_just+window(2)+subscribe + subscsribe inner 2435.66 ns 922.20 ns 921.06 ns 1.00 918.00 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 833.68 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 843.42 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 1961.42 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 3244.52 ns 163.54 ns 160.32 ns 1.02 155.66 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3725.72 ns 141.64 ns 140.15 ns 1.01 140.83 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 143.27 ns 141.71 ns 1.01 140.26 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3350.45 ns 379.58 ns 377.37 ns 1.01 378.56 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2238.11 ns 194.91 ns 202.25 ns 0.96 200.38 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3257.99 ns 226.12 ns 225.09 ns 1.00 224.31 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 54.01 ns 17.71 ns 17.63 ns 1.00 18.55 ns
subscribe 100 observers to publish_subject 211170.75 ns 15990.24 ns 16146.57 ns 0.99 16167.97 ns
100 on_next to 100 observers to publish_subject 35361.41 ns 23793.89 ns 23499.17 ns 1.01 20703.18 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1300.36 ns 11.11 ns 11.11 ns 1.00 20.47 ns
basic sample with immediate scheduler 1340.69 ns 5.96 ns 5.86 ns 1.02 9.41 ns
mix operators with disposables and without disposables 6777.41 ns 1213.66 ns 1179.39 ns 1.03 1468.55 ns
single disposable and looooooong indentity chain 28736.79 ns 1261.60 ns 1271.66 ns 0.99 4543.47 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 989.65 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 2201.62 ns 1165.23 ns 1168.55 ns 1.00 1154.63 ns
create(on_error())+retry(1)+subscribe 665.53 ns 139.64 ns 138.48 ns 1.01 148.99 ns

ci-windows

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 573.74 ns 1.86 ns 2.16 ns 0.86 2.16 ns
Subscribe empty callbacks to empty observable via pipe operator 607.38 ns 1.86 ns 2.16 ns 0.86 2.16 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1222.48 ns 5.86 ns 5.86 ns 1.00 4.94 ns
from array of 1 - create + subscribe + current_thread 1584.04 ns 15.79 ns 15.75 ns 1.00 15.46 ns
concat_as_source of just(1 immediate) create + subscribe 3906.30 ns 166.02 ns 167.18 ns 0.99 179.35 ns
defer from array of 1 - defer + create + subscribe + immediate 1324.19 ns 5.66 ns 5.55 ns 1.02 5.24 ns
interval - interval + take(3) + subscribe + immediate 3697.58 ns 143.85 ns 139.87 ns 1.03 141.86 ns
interval - interval + take(3) + subscribe + current_thread 3430.35 ns 60.39 ns 59.86 ns 1.01 64.29 ns
from array of 1 - create + as_blocking + subscribe + new_thread 143125.00 ns 124411.11 ns 116530.00 ns 1.07 114920.00 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 136200.00 ns 201642.86 ns 137485.71 ns 1.47 132550.00 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5425.41 ns 214.49 ns 200.69 ns 1.07 202.79 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1820.36 ns 20.46 ns 19.44 ns 1.05 20.35 ns
immediate_just+filter(true)+subscribe 1628.93 ns 18.82 ns 18.51 ns 1.02 20.98 ns
immediate_just(1,2)+skip(1)+subscribe 1739.06 ns 18.51 ns 17.89 ns 1.03 20.36 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2616.67 ns 23.46 ns 20.67 ns 1.13 24.99 ns
immediate_just(1,2)+first()+subscribe 2360.84 ns 17.32 ns 18.20 ns 0.95 18.52 ns
immediate_just(1,2)+last()+subscribe 1463.60 ns 18.51 ns 19.12 ns 0.97 22.23 ns
immediate_just+take_last(1)+subscribe 2000.00 ns 64.68 ns 64.58 ns 1.00 67.56 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1656.48 ns 22.33 ns 20.99 ns 1.06 22.83 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 483.84 ns 4.94 ns 4.94 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule 653.81 ns 11.14 ns 11.89 ns 0.94 11.12 ns
current_thread scheduler create worker + schedule + recursive schedule 1083.65 ns 98.79 ns 98.52 ns 1.00 103.10 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1460.87 ns 19.59 ns 18.81 ns 1.04 21.29 ns
immediate_just+scan(10, std::plus)+subscribe 1423.03 ns 21.52 ns 21.04 ns 1.02 19.90 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3849.20 ns 183.78 ns 183.44 ns 1.00 210.38 ns
immediate_just+buffer(2)+subscribe 2401.08 ns 66.28 ns 64.08 ns 1.03 69.70 ns
immediate_just+window(2)+subscribe + subscsribe inner 4195.59 ns 1318.74 ns 1276.74 ns 1.03 1329.55 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1374.35 ns 18.03 ns 17.58 ns 1.03 19.11 ns
immediate_just+take_while(true)+subscribe 1369.49 ns 19.75 ns 18.50 ns 1.07 20.96 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 3608.23 ns 11.11 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 5217.33 ns 197.46 ns 204.52 ns 0.97 220.52 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5927.84 ns 184.30 ns 184.63 ns 1.00 191.31 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 196.87 ns 187.03 ns 1.05 192.00 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6659.59 ns 431.61 ns 438.03 ns 0.99 451.04 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 4259.91 ns 562.41 ns 510.04 ns 1.10 515.61 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4910.19 ns 334.36 ns 323.54 ns 1.03 341.10 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 38.53 ns 23.91 ns 20.68 ns 1.16 20.57 ns
subscribe 100 observers to publish_subject 269600.00 ns 29314.29 ns 27000.00 ns 1.09 27610.53 ns
100 on_next to 100 observers to publish_subject 55223.81 ns 34073.33 ns 32686.67 ns 1.04 39250.00 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 2043.23 ns 97.58 ns 96.72 ns 1.01 113.30 ns
basic sample with immediate scheduler 2059.66 ns 70.69 ns 66.52 ns 1.06 82.64 ns
mix operators with disposables and without disposables 10561.86 ns 2035.77 ns 1895.70 ns 1.07 2664.80 ns
single disposable and looooooong indentity chain 26966.67 ns 1824.39 ns 1707.00 ns 1.07 6376.79 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1495.73 ns 19.42 ns 19.11 ns 1.02 20.09 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 2337.33 ns 359.60 ns 350.03 ns 1.03 371.42 ns
create(on_error())+retry(1)+subscribe 2042.19 ns 139.78 ns 140.86 ns 0.99 138.24 ns

Copy link

codecov bot commented Jan 6, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.61%. Comparing base (40a3f3c) to head (80b43f7).
Report is 1 commits behind head on v2.

Additional details and impacted files
@@           Coverage Diff           @@
##               v2     #695   +/-   ##
=======================================
  Coverage   98.61%   98.61%           
=======================================
  Files         156      156           
  Lines        9786     9786           
=======================================
  Hits         9650     9650           
  Misses        136      136           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

sonarqubecloud bot commented Jan 6, 2025

@victimsnino victimsnino merged commit b212dbc into v2 Jan 7, 2025
55 checks passed
@victimsnino victimsnino deleted the pre-commit-ci-update-config branch January 7, 2025 20:53
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