Skip to content

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

Open
pre-commit-ci[bot] wants to merge 1 commit into
v2from
pre-commit-ci-update-config
Open

pre-commit-ci[bot] wants to merge 1 commit into
v2from
pre-commit-ci-update-config

Conversation

@pre-commit-ci

@pre-commit-ci pre-commit-ci Bot commented Apr 13, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Apr 13, 2026 •

Copy link
Copy Markdown
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 448.87 ns 0.80 ns 0.96 ns 0.84 0.44 ns
Subscribe empty callbacks to empty observable via pipe operator 444.65 ns 0.80 ns 0.94 ns 0.85 0.45 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1115.10 ns 0.25 ns 0.23 ns 1.08 0.22 ns
from array of 1 - create + subscribe + current_thread 1720.37 ns 1.82 ns 1.88 ns 0.97 1.78 ns
concat_as_source of just(1 immediate) create + subscribe 3499.40 ns 196.65 ns 180.89 ns 1.09 173.38 ns
defer from array of 1 - defer + create + subscribe + immediate 1174.18 ns 0.25 ns 0.23 ns 1.08 0.22 ns
interval - interval + take(3) + subscribe + immediate 3476.91 ns 36.97 ns 43.52 ns 0.85 41.48 ns
interval - interval + take(3) + subscribe + current_thread 5006.02 ns 20.76 ns 23.80 ns 0.87 23.50 ns
from array of 1 - create + as_blocking + subscribe + new_thread 46850.88 ns 45565.00 ns 15667.58 ns 2.91 13560.58 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 51052.75 ns 56033.55 ns 26165.78 ns 2.14 24792.76 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5128.04 ns 233.17 ns 216.09 ns 1.08 211.15 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1746.77 ns 0.25 ns 0.23 ns 1.08 0.22 ns
immediate_just+filter(true)+subscribe 1282.61 ns 0.25 ns 0.23 ns 1.06 0.22 ns
immediate_just(1,2)+skip(1)+subscribe 1606.31 ns 0.25 ns 0.23 ns 1.06 0.22 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1293.62 ns 0.25 ns 0.23 ns 1.06 0.22 ns
immediate_just(1,2)+first()+subscribe 2039.01 ns 0.25 ns 0.23 ns 1.06 0.22 ns
immediate_just(1,2)+last()+subscribe 1487.60 ns 0.25 ns 0.23 ns 1.06 0.22 ns
immediate_just+take_last(1)+subscribe 1707.79 ns 12.35 ns 9.37 ns 1.32 9.57 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1298.80 ns 0.25 ns 0.23 ns 1.09 0.22 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 454.56 ns 0.51 ns 0.36 ns 1.42 0.44 ns
current_thread scheduler create worker + schedule 540.10 ns 2.23 ns 2.00 ns 1.12 2.09 ns
current_thread scheduler create worker + schedule + recursive schedule 1199.31 ns 51.30 ns 51.17 ns 1.00 48.31 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1304.87 ns 0.25 ns 0.22 ns 1.13 0.22 ns
immediate_just+scan(10, std::plus)+subscribe 1495.11 ns 0.25 ns 0.22 ns 1.14 0.22 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3957.43 ns 217.53 ns 212.64 ns 1.02 220.84 ns
immediate_just+buffer(2)+subscribe 1708.27 ns 9.45 ns 7.28 ns 1.30 8.60 ns
immediate_just+window(2)+subscribe + subscsribe inner 3069.49 ns 1452.77 ns 1450.30 ns 1.00 1378.87 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1264.29 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 1290.18 ns 0.25 ns 0.22 ns 1.12 0.22 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 2961.23 ns 0.25 ns 0.23 ns 1.06 0.22 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5983.12 ns 247.41 ns 250.04 ns 0.99 250.53 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5821.64 ns 250.06 ns 247.40 ns 1.01 247.47 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 228.86 ns 194.67 ns 1.18 213.82 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6272.54 ns 575.79 ns 521.64 ns 1.10 528.99 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 3245.44 ns 262.17 ns 241.22 ns 1.09 242.98 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4777.91 ns 361.40 ns 346.05 ns 1.04 364.51 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 68.72 ns 32.91 ns 30.71 ns 1.07 30.72 ns
subscribe 100 observers to publish_subject 248660.20 ns 27292.27 ns 25053.17 ns 1.09 24521.90 ns
100 on_next to 100 observers to publish_subject 18584.32 ns 15082.23 ns 18217.91 ns 0.83 14538.99 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1931.89 ns 8.76 ns 6.15 ns 1.42 11.58 ns
basic sample with immediate scheduler 1990.72 ns 2.05 ns 2.58 ns 0.80 7.20 ns
mix operators with disposables and without disposables 8554.91 ns 1526.74 ns 1494.81 ns 1.02 1841.50 ns
single disposable and looooooong indentity chain 24550.72 ns 1556.77 ns 1467.69 ns 1.06 4092.62 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1519.88 ns 0.25 ns 0.23 ns 1.09 0.22 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 2181.96 ns 754.13 ns 642.86 ns 1.17 637.94 ns
create(on_error())+retry(1)+subscribe 920.02 ns 213.21 ns 188.90 ns 1.13 194.50 ns

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 913.52 ns 1.63 ns 0.51 ns 3.20 0.48 ns
Subscribe empty callbacks to empty observable via pipe operator 613.46 ns 1.25 ns 0.51 ns 2.48 0.47 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1190.67 ns 0.40 ns 0.38 ns 1.05 0.31 ns
from array of 1 - create + subscribe + current_thread 1675.12 ns 6.31 ns 7.07 ns 0.89 3.75 ns
concat_as_source of just(1 immediate) create + subscribe 2374.48 ns 191.28 ns 379.36 ns 0.50 179.52 ns
defer from array of 1 - defer + create + subscribe + immediate 1073.15 ns 0.39 ns 0.34 ns 1.16 0.36 ns
interval - interval + take(3) + subscribe + immediate 3351.60 ns 103.63 ns 57.58 ns 1.80 52.24 ns
interval - interval + take(3) + subscribe + current_thread 4933.91 ns 52.61 ns 67.07 ns 0.78 30.18 ns
from array of 1 - create + as_blocking + subscribe + new_thread 32392.05 ns 51685.64 ns 29200.38 ns 1.77 25089.14 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 50202.68 ns 39615.00 ns 31086.68 ns 1.27 29777.42 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 6913.77 ns 229.09 ns 240.25 ns 0.95 183.00 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1876.90 ns 0.50 ns 0.34 ns 1.45 0.40 ns
immediate_just+filter(true)+subscribe 942.76 ns 0.37 ns 0.34 ns 1.08 0.40 ns
immediate_just(1,2)+skip(1)+subscribe 2224.72 ns 0.55 ns 0.35 ns 1.58 0.42 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 988.29 ns 0.35 ns 1.00 ns 0.35 0.40 ns
immediate_just(1,2)+first()+subscribe 3478.84 ns 0.39 ns 0.35 ns 1.14 0.40 ns
immediate_just(1,2)+last()+subscribe 2231.97 ns 1.02 ns 1.02 ns 1.00 1.03 ns
immediate_just+take_last(1)+subscribe 1398.77 ns 0.38 ns 0.34 ns 1.11 0.43 ns
immediate_just(1,2,3)+element_at(1)+subscribe 975.16 ns 0.37 ns 0.38 ns 0.99 0.43 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 886.08 ns 1.57 ns 0.51 ns 3.06 0.47 ns
current_thread scheduler create worker + schedule 715.47 ns 4.18 ns 4.06 ns 1.03 3.75 ns
current_thread scheduler create worker + schedule + recursive schedule 1781.15 ns 160.44 ns 66.29 ns 2.42 59.76 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1872.86 ns 4.64 ns 2.59 ns 1.79 3.05 ns
immediate_just+scan(10, std::plus)+subscribe 1782.72 ns 0.41 ns 0.34 ns 1.20 0.42 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 3089.30 ns 239.95 ns 200.77 ns 1.20 230.35 ns
immediate_just+buffer(2)+subscribe 1965.89 ns 28.81 ns 16.33 ns 1.76 21.19 ns
immediate_just+window(2)+subscribe + subscsribe inner 2687.84 ns 2388.44 ns 1145.58 ns 2.08 1379.66 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1365.24 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 1589.19 ns 0.51 ns 0.34 ns 1.52 0.31 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 2214.14 ns 2.40 ns 2.26 ns 1.07 2.33 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3976.68 ns 418.08 ns 222.49 ns 1.88 204.63 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3918.21 ns 242.40 ns 216.01 ns 1.12 203.50 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 464.55 ns 230.65 ns 2.01 226.47 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3363.01 ns 690.85 ns 554.25 ns 1.25 533.57 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 3881.48 ns 617.68 ns 292.81 ns 2.11 304.54 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3304.85 ns 386.75 ns 336.43 ns 1.15 322.34 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 62.78 ns 37.37 ns 22.92 ns 1.63 28.69 ns
subscribe 100 observers to publish_subject 311916.00 ns 40595.42 ns 17562.14 ns 2.31 20608.33 ns
100 on_next to 100 observers to publish_subject 52741.21 ns 15537.94 ns 20891.36 ns 0.74 13472.68 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 2679.13 ns 29.21 ns 10.49 ns 2.79 33.05 ns
basic sample with immediate scheduler 1805.58 ns 6.25 ns 5.41 ns 1.16 10.13 ns
mix operators with disposables and without disposables 13514.65 ns 3560.40 ns 1437.35 ns 2.48 1752.10 ns
single disposable and looooooong indentity chain 39277.34 ns 2598.14 ns 1770.36 ns 1.47 3488.48 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1129.02 ns 0.41 ns 0.35 ns 1.18 0.42 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 12021.04 ns 3375.00 ns 3366.79 ns 1.00 3767.23 ns
create(on_error())+retry(1)+subscribe 1726.23 ns 295.25 ns 200.90 ns 1.47 241.79 ns

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 169.18 ns 0.48 ns 1.06 ns 0.46 1.56 ns
Subscribe empty callbacks to empty observable via pipe operator 172.49 ns 0.48 ns 1.05 ns 0.46 1.56 ns

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 361.27 ns 0.24 ns 0.36 ns 0.67 0.31 ns
from array of 1 - create + subscribe + current_thread 519.22 ns 2.17 ns 4.57 ns 0.48 4.04 ns
concat_as_source of just(1 immediate) create + subscribe 3112.03 ns 192.26 ns 141.29 ns 1.36 132.96 ns
defer from array of 1 - defer + create + subscribe + immediate 1142.76 ns 0.24 ns 0.35 ns 0.68 0.31 ns
interval - interval + take(3) + subscribe + immediate 3123.92 ns 34.64 ns 65.33 ns 0.53 58.76 ns
interval - interval + take(3) + subscribe + current_thread 4517.12 ns 19.48 ns 35.49 ns 0.55 31.76 ns
from array of 1 - create + as_blocking + subscribe + new_thread 44132.41 ns 45371.55 ns 31643.03 ns 1.43 34159.10 ns
from array of 1000 - create + as_blocking + subscribe + new_thread 49282.71 ns 47559.10 ns 37739.55 ns 1.26 42065.96 ns
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 4707.09 ns 223.61 ns 157.03 ns 1.42 149.19 ns

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1562.91 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just+filter(true)+subscribe 1164.71 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just(1,2)+skip(1)+subscribe 1484.81 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1165.98 ns 0.24 ns 0.39 ns 0.61 0.32 ns
immediate_just(1,2)+first()+subscribe 1875.75 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just(1,2)+last()+subscribe 1379.78 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just+take_last(1)+subscribe 1573.87 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just(1,2,3)+element_at(1)+subscribe 1169.20 ns 0.24 ns 0.35 ns 0.68 0.31 ns

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 428.71 ns 0.48 ns 0.71 ns 0.68 0.64 ns
current_thread scheduler create worker + schedule 514.33 ns 2.40 ns 4.57 ns 0.53 4.04 ns
current_thread scheduler create worker + schedule + recursive schedule 1156.28 ns 38.76 ns 59.33 ns 0.65 68.24 ns

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1167.08 ns 0.24 ns 0.35 ns 0.68 0.31 ns
immediate_just+scan(10, std::plus)+subscribe 1351.28 ns 0.24 ns 0.70 ns 0.34 0.34 ns
immediate_just+flat_map(immediate_just(v*2))+subscribe 2988.70 ns 210.20 ns 142.98 ns 1.47 136.40 ns
immediate_just+buffer(2)+subscribe 1571.27 ns 9.70 ns 15.95 ns 0.61 14.62 ns
immediate_just+window(2)+subscribe + subscsribe inner 2799.82 ns 1268.68 ns 957.54 ns 1.32 912.35 ns

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1153.27 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 1170.49 ns 0.24 ns 0.35 ns 0.68 0.31 ns

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 2694.33 ns 0.24 ns 0.35 ns 0.68 0.31 ns

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 4419.95 ns 236.73 ns 166.94 ns 1.42 155.38 ns
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 4738.69 ns 247.92 ns 160.40 ns 1.55 140.70 ns
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 213.88 ns 149.87 ns 1.43 138.13 ns
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 4512.90 ns 517.78 ns 386.82 ns 1.34 419.28 ns
immediate_just(1) + zip(immediate_just(2)) + subscribe 2912.95 ns 238.26 ns 199.28 ns 1.20 202.27 ns
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4355.96 ns 364.15 ns 235.93 ns 1.54 225.83 ns

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 71.74 ns 29.27 ns 20.37 ns 1.44 23.17 ns
subscribe 100 observers to publish_subject 242482.40 ns 25818.35 ns 18525.18 ns 1.39 17521.79 ns
100 on_next to 100 observers to publish_subject 23178.02 ns 13689.00 ns 20824.38 ns 0.66 20292.23 ns

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1660.60 ns 6.11 ns 11.23 ns 0.54 20.85 ns
basic sample with immediate scheduler 1665.58 ns 1.45 ns 6.67 ns 0.22 6.53 ns
mix operators with disposables and without disposables 7812.63 ns 1396.92 ns 1243.45 ns 1.12 1492.50 ns
single disposable and looooooong indentity chain 24261.09 ns 1641.61 ns 1328.96 ns 1.24 5029.83 ns

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1378.63 ns 0.24 ns 0.35 ns 0.68 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 2061.45 ns 836.98 ns 1161.30 ns 0.72 1182.61 ns
create(on_error())+retry(1)+subscribe 874.27 ns 204.41 ns 148.03 ns 1.38 139.74 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

@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch 2 times, most recently from 1db6058 to 9465c65 Compare May 4, 2026 20:28
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 9465c65 to 4081981 Compare May 11, 2026 20:22
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 4081981 to 2e07924 Compare June 15, 2026 20:43
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 2e07924 to 85b3404 Compare July 6, 2026 20:53
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 85b3404 to dff758e Compare July 13, 2026 21:19
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from dff758e to 61a722d Compare August 10, 2026 20:55
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 61a722d to 70f8e4e Compare August 31, 2026 21:09
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 70f8e4e to a322318 Compare September 14, 2026 21:03
@coderabbitai

coderabbitai Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

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

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ef5596da-d442-4ed8-981a-0705ade684f5

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from 1de5d1f to d4b45e9 Compare September 28, 2026 21:34
updates:
- [github.com/sirosen/check-jsonschema: 0.37.1 → 0.38.2](python-jsonschema/check-jsonschema@0.37.1...0.38.2)
- [github.com/pre-commit/mirrors-clang-format: v22.1.2 → v23.1.2](pre-commit/mirrors-clang-format@v22.1.2...v23.1.2)
@pre-commit-ci
pre-commit-ci Bot force-pushed the pre-commit-ci-update-config branch from d14d8f2 to 03fcd07 Compare October 5, 2026 22:53

This branch has not been deployed

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

0 participants