Skip to content

Commit

Permalink
[pre-commit.ci] pre-commit autoupdate (#699)
Browse files Browse the repository at this point in the history
updates:
- [github.com/sirosen/check-jsonschema: 0.30.0 → 0.31.0](python-jsonschema/check-jsonschema@0.30.0...0.31.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
pre-commit-ci[bot] authored Jan 14, 2025
1 parent 9ab9e07 commit f1fe624
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/sirosen/check-jsonschema
rev: 0.30.0
rev: 0.31.0
hooks:
- id: check-github-actions
- id: check-github-workflows
Expand Down

1 comment on commit f1fe624

@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 301.33 ns 1.54 ns 1.85 ns 0.83 1.87 ns
Subscribe empty callbacks to empty observable via pipe operator 303.45 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 690.82 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 1059.38 ns 3.71 ns 3.71 ns 1.00 3.71 ns
concat_as_source of just(1 immediate) create + subscribe 2271.77 ns 112.34 ns 127.46 ns 0.88 116.74 ns
defer from array of 1 - defer + create + subscribe + immediate 732.85 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2113.53 ns 59.19 ns 59.24 ns 1.00 59.54 ns
interval - interval + take(3) + subscribe + current_thread 3022.96 ns 32.46 ns 32.44 ns 1.00 33.97 ns
from array of 1 - create + as_blocking + subscribe + new_thread 30433.58 ns 27984.54 ns 27367.00 ns 1.02 27126.66 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 40293.59 ns 52249.70 ns 51051.27 ns 1.02 51429.63 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3516.10 ns 190.79 ns 134.47 ns 1.42 147.13 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1096.11 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 838.11 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 998.88 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 867.19 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1258.09 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 914.36 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1119.87 ns 17.91 ns 18.22 ns 0.98 19.15 ns
immediate_just(1,2,3)+element_at(1)+subscribe 848.36 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 268.43 ns 0.46 ns 1.54 ns 0.30 1.54 ns
current_thread scheduler create worker + schedule 396.98 ns 4.63 ns 4.63 ns 1.00 4.63 ns
current_thread scheduler create worker + schedule + recursive schedule 822.10 ns 61.06 ns 60.48 ns 1.01 60.78 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 844.97 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 914.42 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2349.96 ns 142.68 ns 157.53 ns 0.91 204.64 ns
immediate_just+buffer(2)+subscribe 1524.77 ns 13.59 ns 13.59 ns 1.00 17.79 ns
immediate_just+window(2)+subscribe + subscsribe inner 2381.86 ns 1291.29 ns 1253.39 ns 1.03 1328.42 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 837.71 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 879.26 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 1948.50 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 3413.56 ns 141.18 ns 142.34 ns 0.99 190.36 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3653.30 ns 156.13 ns 168.15 ns 0.93 167.77 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 130.28 ns 143.02 ns 0.91 149.97 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3519.21 ns 415.58 ns 380.11 ns 1.09 376.65 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2186.85 ns 211.18 ns 216.26 ns 0.98 226.18 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3103.39 ns 230.20 ns 228.85 ns 1.01 253.70 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 34.61 ns 14.68 ns 14.68 ns 1.00 14.85 ns
subscribe 100 observers to publish_subject 200074.17 ns 17200.81 ns 18642.48 ns 0.92 18148.88 ns
100 on_next to 100 observers to publish_subject 27563.80 ns 16675.61 ns 16700.15 ns 1.00 29103.74 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1419.36 ns 13.90 ns 13.90 ns 1.00 22.24 ns
basic sample with immediate scheduler 1456.71 ns 5.55 ns 5.55 ns 1.00 16.37 ns
mix operators with disposables and without disposables 6383.59 ns 1440.42 ns 1428.64 ns 1.01 1870.06 ns
single disposable and looooooong indentity chain 24913.98 ns 914.42 ns 891.87 ns 1.03 5240.17 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 903.24 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 2049.24 ns 1023.57 ns 993.76 ns 1.03 1032.15 ns
create(on_error())+retry(1)+subscribe 609.02 ns 107.84 ns 122.65 ns 0.88 117.51 ns

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 382.19 ns 0.52 ns 0.47 ns 1.12 0.52 ns
Subscribe empty callbacks to empty observable via pipe operator 381.17 ns 0.50 ns 0.47 ns 1.07 0.52 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 743.52 ns 0.34 ns 0.31 ns 1.07 0.37 ns
from array of 1 - create + subscribe + current_thread 979.88 ns 4.36 ns 4.06 ns 1.07 4.34 ns
concat_as_source of just(1 immediate) create + subscribe 2256.15 ns 174.85 ns 159.40 ns 1.10 212.96 ns
defer from array of 1 - defer + create + subscribe + immediate 747.97 ns 0.33 ns 0.31 ns 1.05 0.33 ns
interval - interval + take(3) + subscribe + immediate 2259.22 ns 50.88 ns 49.66 ns 1.02 54.46 ns
interval - interval + take(3) + subscribe + current_thread 2585.32 ns 32.36 ns 29.40 ns 1.10 32.47 ns
from array of 1 - create + as_blocking + subscribe + new_thread 24265.14 ns 20967.50 ns 21063.64 ns 1.00 21566.86 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 25725.22 ns 25101.34 ns 24796.73 ns 1.01 25403.46 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3237.40 ns 192.46 ns 177.06 ns 1.09 194.81 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1182.57 ns 0.34 ns 0.34 ns 1.03 0.34 ns
immediate_just+filter(true)+subscribe 877.57 ns 0.35 ns 0.34 ns 1.02 0.41 ns
immediate_just(1,2)+skip(1)+subscribe 1117.11 ns 0.34 ns 0.31 ns 1.08 0.42 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 885.78 ns 0.34 ns 0.31 ns 1.09 0.42 ns
immediate_just(1,2)+first()+subscribe 1381.73 ns 0.34 ns 0.34 ns 1.01 0.34 ns
immediate_just(1,2)+last()+subscribe 1018.75 ns 0.99 ns 0.74 ns 1.33 0.99 ns
immediate_just+take_last(1)+subscribe 1217.73 ns 0.35 ns 0.34 ns 1.02 0.35 ns
immediate_just(1,2,3)+element_at(1)+subscribe 869.61 ns 0.34 ns 0.31 ns 1.10 0.34 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 316.25 ns 0.51 ns 0.47 ns 1.09 0.52 ns
current_thread scheduler create worker + schedule 461.73 ns 4.78 ns 4.37 ns 1.09 4.53 ns
current_thread scheduler create worker + schedule + recursive schedule 757.33 ns 67.21 ns 61.63 ns 1.09 68.12 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 898.55 ns 2.53 ns 2.39 ns 1.06 2.77 ns
immediate_just+scan(10, std::plus)+subscribe 1009.06 ns 0.35 ns 0.34 ns 1.02 0.34 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2113.65 ns 244.77 ns 198.62 ns 1.23 206.20 ns
immediate_just+buffer(2)+subscribe 1040.74 ns 16.91 ns 16.66 ns 1.01 17.50 ns
immediate_just+window(2)+subscribe + subscsribe inner 2087.43 ns 1046.57 ns 1054.63 ns 0.99 1116.94 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 830.79 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 847.50 ns 0.34 ns 0.31 ns 1.08 0.34 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 1989.27 ns 2.03 ns 1.78 ns 1.14 2.21 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3122.04 ns 220.01 ns 202.57 ns 1.09 219.95 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3241.16 ns 215.78 ns 199.04 ns 1.08 211.10 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 219.08 ns 211.28 ns 1.04 205.79 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3139.78 ns 538.72 ns 500.00 ns 1.08 535.81 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2087.41 ns 345.88 ns 325.38 ns 1.06 340.24 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3068.19 ns 355.89 ns 322.43 ns 1.10 349.13 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 46.58 ns 24.75 ns 21.49 ns 1.15 24.05 ns
subscribe 100 observers to publish_subject 146932.25 ns 18621.80 ns 16446.23 ns 1.13 18358.33 ns
100 on_next to 100 observers to publish_subject 35644.43 ns 15742.94 ns 14021.38 ns 1.12 14847.22 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1351.78 ns 12.63 ns 11.24 ns 1.12 26.46 ns
basic sample with immediate scheduler 1320.55 ns 5.70 ns 5.00 ns 1.14 12.90 ns
mix operators with disposables and without disposables 5747.59 ns 1445.31 ns 1335.78 ns 1.08 1805.60 ns
single disposable and looooooong indentity chain 16536.90 ns 1755.19 ns 1542.23 ns 1.14 4607.37 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1064.54 ns 0.35 ns 0.31 ns 1.11 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 3581.40 ns 2830.07 ns 2554.51 ns 1.11 2893.71 ns
create(on_error())+retry(1)+subscribe 766.41 ns 185.98 ns 168.44 ns 1.10 186.13 ns

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 269.70 ns 1.54 ns 1.54 ns 1.00 1.54 ns
Subscribe empty callbacks to empty observable via pipe operator 270.62 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 553.98 ns 0.31 ns 0.31 ns 1.00 0.31 ns
from array of 1 - create + subscribe + current_thread 794.53 ns 4.01 ns 4.01 ns 1.00 4.01 ns
concat_as_source of just(1 immediate) create + subscribe 2362.31 ns 129.58 ns 129.58 ns 1.00 137.29 ns
defer from array of 1 - defer + create + subscribe + immediate 810.27 ns 0.31 ns 0.31 ns 1.00 0.31 ns
interval - interval + take(3) + subscribe + immediate 2271.34 ns 58.31 ns 58.26 ns 1.00 58.26 ns
interval - interval + take(3) + subscribe + current_thread 3209.17 ns 30.86 ns 30.86 ns 1.00 31.51 ns
from array of 1 - create + as_blocking + subscribe + new_thread 30220.32 ns 27910.87 ns 28883.91 ns 0.97 27927.15 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 36097.18 ns 35532.77 ns 33175.50 ns 1.07 42064.19 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3735.79 ns 148.92 ns 148.40 ns 1.00 216.40 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1197.54 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+filter(true)+subscribe 869.14 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1107.38 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 898.42 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+first()+subscribe 1413.42 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just(1,2)+last()+subscribe 1029.88 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+take_last(1)+subscribe 1215.59 ns 0.31 ns 0.31 ns 1.00 0.38 ns
immediate_just(1,2,3)+element_at(1)+subscribe 893.64 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 280.74 ns 0.63 ns 0.63 ns 1.00 0.63 ns
current_thread scheduler create worker + schedule 412.25 ns 4.02 ns 4.32 ns 0.93 12.19 ns
current_thread scheduler create worker + schedule + recursive schedule 865.87 ns 55.00 ns 54.93 ns 1.00 57.56 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 877.95 ns 0.31 ns 0.31 ns 1.00 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 985.75 ns 0.62 ns 0.62 ns 1.00 0.31 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2277.68 ns 139.20 ns 135.62 ns 1.03 136.83 ns
immediate_just+buffer(2)+subscribe 1549.06 ns 13.89 ns 13.89 ns 1.00 14.82 ns
immediate_just+window(2)+subscribe + subscsribe inner 2465.60 ns 901.00 ns 898.41 ns 1.00 913.72 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 878.84 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 887.66 ns 0.31 ns 0.31 ns 0.99 0.31 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 2036.86 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 3303.47 ns 162.05 ns 158.68 ns 1.02 154.06 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3775.48 ns 139.04 ns 137.34 ns 1.01 138.16 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 141.95 ns 142.68 ns 0.99 138.30 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3429.63 ns 378.07 ns 377.78 ns 1.00 379.51 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2252.37 ns 197.53 ns 203.60 ns 0.97 199.92 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3251.44 ns 222.86 ns 221.76 ns 1.00 224.45 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 54.11 ns 19.03 ns 19.63 ns 0.97 23.02 ns
subscribe 100 observers to publish_subject 211206.80 ns 17367.47 ns 17329.51 ns 1.00 17279.36 ns
100 on_next to 100 observers to publish_subject 37443.67 ns 20137.85 ns 20087.89 ns 1.00 20132.22 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1310.51 ns 11.42 ns 11.42 ns 1.00 21.30 ns
basic sample with immediate scheduler 1334.92 ns 5.86 ns 5.86 ns 1.00 6.47 ns
mix operators with disposables and without disposables 6686.26 ns 1166.65 ns 1168.97 ns 1.00 1492.91 ns
single disposable and looooooong indentity chain 27276.13 ns 1260.86 ns 1233.92 ns 1.02 4602.03 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1021.16 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 2193.27 ns 1163.97 ns 1159.09 ns 1.00 1158.72 ns
create(on_error())+retry(1)+subscribe 692.31 ns 137.72 ns 137.68 ns 1.00 145.60 ns

ci-windows

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 572.39 ns 2.16 ns 2.16 ns 1.00 2.16 ns
Subscribe empty callbacks to empty observable via pipe operator 593.76 ns 2.16 ns 2.16 ns 1.00 2.16 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1399.14 ns 5.24 ns 5.24 ns 1.00 5.86 ns
from array of 1 - create + subscribe + current_thread 1680.21 ns 15.45 ns 15.45 ns 1.00 15.74 ns
concat_as_source of just(1 immediate) create + subscribe 3696.40 ns 167.09 ns 166.28 ns 1.00 176.95 ns
defer from array of 1 - defer + create + subscribe + immediate 1205.72 ns 5.24 ns 5.24 ns 1.00 5.86 ns
interval - interval + take(3) + subscribe + immediate 3704.68 ns 140.22 ns 139.40 ns 1.01 141.24 ns
interval - interval + take(3) + subscribe + current_thread 3453.95 ns 59.52 ns 60.69 ns 0.98 61.92 ns
from array of 1 - create + as_blocking + subscribe + new_thread 129533.33 ns 119570.00 ns 113810.00 ns 1.05 112560.00 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 138462.50 ns 139350.00 ns 131777.78 ns 1.06 130600.00 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5301.39 ns 201.81 ns 205.11 ns 0.98 205.33 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1837.37 ns 19.43 ns 19.42 ns 1.00 20.63 ns
immediate_just+filter(true)+subscribe 1640.60 ns 18.51 ns 18.51 ns 1.00 20.98 ns
immediate_just(1,2)+skip(1)+subscribe 1741.59 ns 17.89 ns 17.89 ns 1.00 20.38 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1623.45 ns 20.68 ns 20.67 ns 1.00 25.57 ns
immediate_just(1,2)+first()+subscribe 2366.08 ns 18.20 ns 18.21 ns 1.00 18.51 ns
immediate_just(1,2)+last()+subscribe 1477.78 ns 19.13 ns 19.13 ns 1.00 22.21 ns
immediate_just+take_last(1)+subscribe 2013.80 ns 63.55 ns 64.33 ns 0.99 70.76 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1647.66 ns 21.15 ns 21.00 ns 1.01 22.85 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 493.36 ns 4.63 ns 4.63 ns 1.00 4.01 ns
current_thread scheduler create worker + schedule 861.93 ns 12.82 ns 12.04 ns 1.07 11.85 ns
current_thread scheduler create worker + schedule + recursive schedule 1816.03 ns 99.20 ns 97.87 ns 1.01 96.63 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1355.01 ns 18.82 ns 18.81 ns 1.00 21.62 ns
immediate_just+scan(10, std::plus)+subscribe 1433.52 ns 20.96 ns 20.96 ns 1.00 22.98 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3817.11 ns 193.21 ns 192.73 ns 1.00 208.16 ns
immediate_just+buffer(2)+subscribe 2365.01 ns 64.03 ns 65.44 ns 0.98 68.43 ns
immediate_just+window(2)+subscribe + subscsribe inner 4027.04 ns 1218.00 ns 1287.75 ns 0.95 1195.65 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1427.14 ns 17.57 ns 17.57 ns 1.00 19.15 ns
immediate_just+take_while(true)+subscribe 1323.65 ns 18.51 ns 18.51 ns 1.00 21.18 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 3242.90 ns 11.11 ns 11.11 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 5573.63 ns 199.63 ns 215.58 ns 0.93 223.03 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5878.21 ns 184.56 ns 188.63 ns 0.98 209.16 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 191.93 ns 190.29 ns 1.01 197.69 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6275.27 ns 435.07 ns 438.18 ns 0.99 460.39 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 3823.42 ns 519.80 ns 529.11 ns 0.98 516.88 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 5066.51 ns 319.66 ns 326.94 ns 0.98 393.34 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 36.08 ns 28.94 ns 48.27 ns 0.60 30.19 ns
subscribe 100 observers to publish_subject 261725.00 ns 26771.11 ns 26105.26 ns 1.03 26121.95 ns
100 on_next to 100 observers to publish_subject 55161.90 ns 33209.38 ns 32794.29 ns 1.01 36381.25 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1908.77 ns 95.99 ns 97.15 ns 0.99 113.03 ns
basic sample with immediate scheduler 1934.52 ns 68.48 ns 66.49 ns 1.03 82.94 ns
mix operators with disposables and without disposables 10035.29 ns 1855.76 ns 1851.14 ns 1.00 2489.28 ns
single disposable and looooooong indentity chain 27133.33 ns 1627.76 ns 1597.48 ns 1.02 6392.22 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1489.43 ns 19.11 ns 19.13 ns 1.00 21.89 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 1918.68 ns 359.35 ns 354.12 ns 1.01 366.03 ns
create(on_error())+retry(1)+subscribe 1749.91 ns 138.34 ns 137.85 ns 1.00 139.75 ns

Please sign in to comment.