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 #689

Merged
merged 1 commit into from
Dec 3, 2024
Merged

Conversation

pre-commit-ci[bot]
Copy link
Contributor

@pre-commit-ci pre-commit-ci bot commented Nov 25, 2024

Copy link
Contributor

coderabbitai bot commented Nov 25, 2024

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 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.

updates:
- [github.com/sirosen/check-jsonschema: 0.29.4 → 0.30.0](python-jsonschema/check-jsonschema@0.29.4...0.30.0)
- [github.com/pre-commit/mirrors-clang-format: v19.1.3 → v19.1.4](pre-commit/mirrors-clang-format@v19.1.3...v19.1.4)
@pre-commit-ci pre-commit-ci bot force-pushed the pre-commit-ci-update-config branch from 92c3423 to 9225f8c Compare December 2, 2024 22:53
Copy link
Contributor

github-actions bot commented Dec 2, 2024

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 308.69 ns 1.54 ns 1.85 ns 0.83 1.85 ns
Subscribe empty callbacks to empty observable via pipe operator 303.75 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 685.04 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 1029.93 ns 3.42 ns 3.42 ns 1.00 3.70 ns
concat_as_source of just(1 immediate) create + subscribe 2223.41 ns 116.57 ns 118.56 ns 0.98 122.62 ns
defer from array of 1 - defer + create + subscribe + immediate 749.92 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2167.00 ns 59.23 ns 59.23 ns 1.00 59.23 ns
interval - interval + take(3) + subscribe + current_thread 3002.97 ns 32.45 ns 32.42 ns 1.00 33.96 ns
from array of 1 - create + as_blocking + subscribe + new_thread 28513.94 ns 28204.51 ns 27793.40 ns 1.01 28517.56 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 38469.93 ns 51921.95 ns 52570.55 ns 0.99 51565.09 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3415.12 ns 135.82 ns 137.59 ns 0.99 151.60 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1073.44 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 848.09 ns 0.31 ns 0.62 ns 0.50 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 986.09 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 936.33 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1260.04 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 919.32 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1150.36 ns 17.91 ns 18.22 ns 0.98 19.44 ns
immediate_just(1,2,3)+element_at(1)+subscribe 897.13 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 326.90 ns 0.62 ns 1.54 ns 0.40 1.54 ns
current_thread scheduler create worker + schedule 454.99 ns 4.94 ns 4.94 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule + recursive schedule 888.19 ns 61.10 ns 60.64 ns 1.01 60.53 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 835.23 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 883.38 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2328.85 ns 165.63 ns 146.92 ns 1.13 204.59 ns
immediate_just+buffer(2)+subscribe 1533.02 ns 13.59 ns 13.90 ns 0.98 18.21 ns
immediate_just+window(2)+subscribe + subscsribe inner 2409.66 ns 1358.36 ns 1338.62 ns 1.01 1304.61 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 842.88 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 852.13 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 2046.30 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 3428.91 ns 148.03 ns 139.77 ns 1.06 234.75 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3760.07 ns 186.93 ns 158.10 ns 1.18 164.96 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 141.76 ns 132.30 ns 1.07 185.68 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3514.99 ns 401.55 ns 447.22 ns 0.90 393.08 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2108.49 ns 214.09 ns 214.98 ns 1.00 260.01 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3075.06 ns 236.43 ns 233.31 ns 1.01 255.58 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 34.54 ns 14.69 ns 14.68 ns 1.00 15.74 ns
subscribe 100 observers to publish_subject 199016.60 ns 17181.19 ns 17221.46 ns 1.00 16202.74 ns
100 on_next to 100 observers to publish_subject 26700.23 ns 17282.50 ns 18874.64 ns 0.92 20553.46 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1404.62 ns 13.27 ns 13.28 ns 1.00 24.38 ns
basic sample with immediate scheduler 1393.10 ns 5.55 ns 5.55 ns 1.00 19.14 ns
mix operators with disposables and without disposables 6322.17 ns 1386.93 ns 1396.22 ns 0.99 1906.26 ns
single disposable and looooooong indentity chain 23728.50 ns 1012.89 ns 1063.38 ns 0.95 5105.23 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 915.88 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 2082.79 ns 995.07 ns 990.49 ns 1.00 1006.15 ns
create(on_error())+retry(1)+subscribe 586.57 ns 108.65 ns 110.11 ns 0.99 117.11 ns

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 970.97 ns 0.47 ns 0.70 ns 0.67 0.47 ns
Subscribe empty callbacks to empty observable via pipe operator 971.58 ns 0.47 ns 0.70 ns 0.67 0.47 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1929.48 ns 0.23 ns 0.23 ns 1.00 0.23 ns
from array of 1 - create + subscribe + current_thread 2426.01 ns 31.21 ns 31.12 ns 1.00 30.23 ns
concat_as_source of just(1 immediate) create + subscribe 5408.95 ns 318.68 ns 318.81 ns 1.00 316.18 ns
defer from array of 1 - defer + create + subscribe + immediate 2000.69 ns 0.24 ns 0.23 ns 1.03 0.25 ns
interval - interval + take(3) + subscribe + immediate 5474.52 ns 120.26 ns 114.33 ns 1.05 126.37 ns
interval - interval + take(3) + subscribe + current_thread 6263.76 ns 98.07 ns 95.72 ns 1.02 109.84 ns
from array of 1 - create + as_blocking + subscribe + new_thread 84683.29 ns 81521.14 ns 85962.42 ns 0.95 81225.58 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 85779.83 ns 87760.92 ns 85950.55 ns 1.02 91527.15 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 8191.92 ns 358.89 ns 361.85 ns 0.99 396.29 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 2868.33 ns 0.23 ns 0.24 ns 0.98 0.25 ns
immediate_just+filter(true)+subscribe 2126.27 ns 0.23 ns 0.24 ns 0.98 0.24 ns
immediate_just(1,2)+skip(1)+subscribe 2779.39 ns 0.23 ns 0.59 ns 0.40 0.24 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2153.51 ns 0.53 ns 0.47 ns 1.11 0.52 ns
immediate_just(1,2)+first()+subscribe 3192.63 ns 0.23 ns 0.24 ns 0.98 0.25 ns
immediate_just(1,2)+last()+subscribe 2429.32 ns 0.23 ns 0.96 ns 0.24 0.26 ns
immediate_just+take_last(1)+subscribe 3149.98 ns 0.23 ns 0.24 ns 0.98 0.24 ns
immediate_just(1,2,3)+element_at(1)+subscribe 2102.30 ns 0.23 ns 0.23 ns 1.00 0.24 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 906.51 ns 1.00 ns 0.93 ns 1.08 0.49 ns
current_thread scheduler create worker + schedule 1204.82 ns 33.90 ns 33.01 ns 1.03 35.85 ns
current_thread scheduler create worker + schedule + recursive schedule 2058.18 ns 208.88 ns 201.89 ns 1.03 198.85 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 2094.96 ns 4.20 ns 4.20 ns 1.00 4.20 ns
immediate_just+scan(10, std::plus)+subscribe 2313.93 ns 0.47 ns 0.47 ns 1.00 0.47 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 5269.51 ns 373.48 ns 371.42 ns 1.01 414.35 ns
immediate_just+buffer(2)+subscribe 2529.82 ns 63.73 ns 63.59 ns 1.00 73.90 ns
immediate_just+window(2)+subscribe + subscsribe inner 5333.33 ns 2380.12 ns 2369.69 ns 1.00 2562.43 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 2084.50 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 2090.16 ns 0.23 ns 0.23 ns 1.00 0.29 ns

Utility Operators

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

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 7580.26 ns 420.56 ns 418.48 ns 1.00 444.75 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 8344.96 ns 410.08 ns 410.35 ns 1.00 424.38 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 447.74 ns 453.07 ns 0.99 506.19 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 7834.56 ns 924.64 ns 930.72 ns 0.99 1091.63 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 5086.76 ns 829.20 ns 826.84 ns 1.00 981.72 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 7325.47 ns 644.36 ns 657.40 ns 0.98 711.25 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 75.06 ns 49.18 ns 49.27 ns 1.00 55.54 ns
subscribe 100 observers to publish_subject 347336.33 ns 40775.39 ns 40826.84 ns 1.00 41393.86 ns
100 on_next to 100 observers to publish_subject 52329.05 ns 21000.24 ns 21635.17 ns 0.97 22634.04 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 2850.79 ns 68.29 ns 67.94 ns 1.01 91.53 ns
basic sample with immediate scheduler 2814.73 ns 18.78 ns 18.73 ns 1.00 35.01 ns
mix operators with disposables and without disposables 14034.26 ns 3407.04 ns 3305.17 ns 1.03 4812.50 ns
single disposable and looooooong indentity chain 28776.25 ns 1769.87 ns 1758.82 ns 1.01 7163.70 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 2388.30 ns 0.23 ns 0.24 ns 0.98 0.26 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 6616.54 ns 4116.53 ns 4175.64 ns 0.99 4283.11 ns
create(on_error())+retry(1)+subscribe 1807.43 ns 276.42 ns 276.72 ns 1.00 299.90 ns

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 276.49 ns 1.54 ns 1.54 ns 1.00 1.59 ns
Subscribe empty callbacks to empty observable via pipe operator 273.61 ns 1.54 ns 1.54 ns 1.00 1.54 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 579.01 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 798.52 ns 4.01 ns 4.01 ns 1.00 4.05 ns
concat_as_source of just(1 immediate) create + subscribe 2346.38 ns 129.41 ns 129.52 ns 1.00 153.14 ns
defer from array of 1 - defer + create + subscribe + immediate 790.04 ns 0.31 ns 0.31 ns 1.00 0.36 ns
interval - interval + take(3) + subscribe + immediate 2211.06 ns 58.26 ns 58.30 ns 1.00 58.26 ns
interval - interval + take(3) + subscribe + current_thread 3206.26 ns 30.86 ns 30.88 ns 1.00 33.90 ns
from array of 1 - create + as_blocking + subscribe + new_thread 30453.49 ns 28301.00 ns 27385.20 ns 1.03 38148.94 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 36637.81 ns 34348.31 ns 34583.44 ns 0.99 33855.10 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3753.07 ns 148.66 ns 148.56 ns 1.00 149.14 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1174.90 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 835.88 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1076.81 ns 0.31 ns 0.31 ns 1.00 0.33 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 865.11 ns 0.62 ns 0.62 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1343.87 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 1020.34 ns 0.31 ns 0.31 ns 1.00 0.43 ns
immediate_just+take_last(1)+subscribe 1179.87 ns 0.32 ns 0.31 ns 1.05 0.31 ns
immediate_just(1,2,3)+element_at(1)+subscribe 863.51 ns 0.31 ns 0.31 ns 1.00 0.38 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 279.54 ns 0.63 ns 0.63 ns 1.00 0.63 ns
current_thread scheduler create worker + schedule 400.11 ns 4.01 ns 4.01 ns 1.00 4.01 ns
current_thread scheduler create worker + schedule + recursive schedule 853.26 ns 62.22 ns 54.97 ns 1.13 56.02 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 838.81 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 969.20 ns 0.31 ns 0.31 ns 1.00 0.40 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2254.28 ns 136.84 ns 140.47 ns 0.97 135.75 ns
immediate_just+buffer(2)+subscribe 1521.96 ns 13.89 ns 13.89 ns 1.00 17.84 ns
immediate_just+window(2)+subscribe + subscsribe inner 2478.12 ns 904.44 ns 915.72 ns 0.99 938.32 ns

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 1978.13 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 3272.46 ns 159.20 ns 161.34 ns 0.99 153.85 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3811.99 ns 137.94 ns 139.97 ns 0.99 138.89 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 142.58 ns 141.56 ns 1.01 139.16 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3327.37 ns 377.64 ns 376.25 ns 1.00 378.85 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2184.71 ns 198.86 ns 198.07 ns 1.00 203.19 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3250.64 ns 223.47 ns 224.08 ns 1.00 223.76 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 53.74 ns 17.73 ns 17.18 ns 1.03 18.66 ns
subscribe 100 observers to publish_subject 210873.00 ns 16031.28 ns 16048.06 ns 1.00 23029.98 ns
100 on_next to 100 observers to publish_subject 37375.93 ns 20574.61 ns 23608.45 ns 0.87 21669.55 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1306.17 ns 11.11 ns 11.12 ns 1.00 20.56 ns
basic sample with immediate scheduler 1293.26 ns 5.86 ns 5.86 ns 1.00 6.80 ns
mix operators with disposables and without disposables 6469.28 ns 1187.24 ns 1206.85 ns 0.98 1491.05 ns
single disposable and looooooong indentity chain 27875.37 ns 1230.94 ns 1249.91 ns 0.98 4630.72 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1013.56 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 2195.08 ns 1156.81 ns 1163.40 ns 0.99 1189.64 ns
create(on_error())+retry(1)+subscribe 645.67 ns 138.55 ns 138.57 ns 1.00 142.65 ns

ci-windows

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 569.29 ns 2.16 ns 1.85 ns 1.17 2.16 ns
Subscribe empty callbacks to empty observable via pipe operator 584.15 ns 2.16 ns 1.85 ns 1.17 2.16 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1157.87 ns 5.86 ns 5.86 ns 1.00 4.94 ns
from array of 1 - create + subscribe + current_thread 1425.65 ns 15.74 ns 15.75 ns 1.00 15.47 ns
concat_as_source of just(1 immediate) create + subscribe 3743.93 ns 166.19 ns 164.91 ns 1.01 175.84 ns
defer from array of 1 - defer + create + subscribe + immediate 1224.60 ns 5.55 ns 5.55 ns 1.00 5.24 ns
interval - interval + take(3) + subscribe + immediate 3752.29 ns 139.91 ns 141.06 ns 0.99 141.57 ns
interval - interval + take(3) + subscribe + current_thread 3518.73 ns 59.84 ns 59.44 ns 1.01 63.48 ns
from array of 1 - create + as_blocking + subscribe + new_thread 119570.00 ns 112230.00 ns 113300.00 ns 0.99 119933.33 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 128066.67 ns 129455.56 ns 130844.44 ns 0.99 137950.00 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5496.10 ns 199.32 ns 202.30 ns 0.99 205.88 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1824.32 ns 19.43 ns 19.74 ns 0.98 20.35 ns
immediate_just+filter(true)+subscribe 1645.10 ns 18.51 ns 18.82 ns 0.98 20.96 ns
immediate_just(1,2)+skip(1)+subscribe 1732.12 ns 17.90 ns 18.52 ns 0.97 20.36 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1359.50 ns 20.71 ns 23.46 ns 0.88 25.01 ns
immediate_just(1,2)+first()+subscribe 2391.52 ns 18.21 ns 17.29 ns 1.05 18.51 ns
immediate_just(1,2)+last()+subscribe 1479.37 ns 19.14 ns 18.52 ns 1.03 22.23 ns
immediate_just+take_last(1)+subscribe 2036.64 ns 66.17 ns 65.01 ns 1.02 67.84 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1685.33 ns 20.99 ns 21.90 ns 0.96 22.83 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 483.57 ns 4.94 ns 4.94 ns 1.00 4.32 ns
current_thread scheduler create worker + schedule 654.83 ns 11.14 ns 11.16 ns 1.00 11.12 ns
current_thread scheduler create worker + schedule + recursive schedule 1082.26 ns 99.70 ns 99.72 ns 1.00 98.32 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1423.06 ns 18.82 ns 18.82 ns 1.00 21.27 ns
immediate_just+scan(10, std::plus)+subscribe 1570.73 ns 20.98 ns 21.29 ns 0.99 20.11 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3912.79 ns 184.58 ns 186.13 ns 0.99 207.03 ns
immediate_just+buffer(2)+subscribe 2391.82 ns 64.86 ns 64.41 ns 1.01 69.27 ns
immediate_just+window(2)+subscribe + subscsribe inner 4132.53 ns 1303.99 ns 1298.10 ns 1.00 1307.66 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1439.49 ns 17.57 ns 17.57 ns 1.00 19.11 ns
immediate_just+take_while(true)+subscribe 1435.34 ns 18.50 ns 18.82 ns 0.98 20.96 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 3669.14 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 5121.20 ns 198.88 ns 196.76 ns 1.01 227.49 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5741.79 ns 186.25 ns 185.18 ns 1.01 191.81 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 192.98 ns 193.23 ns 1.00 192.94 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6167.07 ns 439.42 ns 433.36 ns 1.01 447.97 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 4146.21 ns 521.10 ns 520.06 ns 1.00 516.03 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4945.45 ns 325.36 ns 335.80 ns 0.97 348.86 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 36.13 ns 20.06 ns 19.87 ns 1.01 20.57 ns
subscribe 100 observers to publish_subject 260525.00 ns 28315.00 ns 28273.68 ns 1.00 28744.44 ns
100 on_next to 100 observers to publish_subject 55189.47 ns 32690.32 ns 32706.25 ns 1.00 38817.24 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1908.17 ns 96.68 ns 96.40 ns 1.00 113.39 ns
basic sample with immediate scheduler 1887.96 ns 68.82 ns 68.77 ns 1.00 84.19 ns
mix operators with disposables and without disposables 9894.21 ns 1909.90 ns 2056.47 ns 0.93 2576.56 ns
single disposable and looooooong indentity chain 26837.21 ns 1712.37 ns 1725.83 ns 0.99 6479.63 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1464.49 ns 19.11 ns 19.43 ns 0.98 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 2335.97 ns 351.38 ns 352.88 ns 1.00 369.29 ns
create(on_error())+retry(1)+subscribe 1766.19 ns 143.02 ns 138.21 ns 1.03 142.51 ns

Copy link

codecov bot commented Dec 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.61%. Comparing base (db32585) to head (9225f8c).
Report is 2 commits behind head on v2.

Additional details and impacted files
@@           Coverage Diff           @@
##               v2     #689   +/-   ##
=======================================
  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

sonarcloud bot commented Dec 2, 2024

@victimsnino victimsnino merged commit 82b8829 into v2 Dec 3, 2024
55 checks passed
@victimsnino victimsnino deleted the pre-commit-ci-update-config branch December 3, 2024 18:20
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