Skip to content

Commit

Permalink
pre-commit
Browse files Browse the repository at this point in the history
  • Loading branch information
victimsnino committed Nov 22, 2024
1 parent 98f5445 commit 3ad48b4
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/comment_benchmarks_v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0

- name: Download all workflow run artifacts
uses: dawidd6/action-download-artifact@v6
with:
Expand Down
2 changes: 1 addition & 1 deletion ci/process_benchmark_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ def print_metric(v):
print(f"</details>")

with open("./gh-pages/v2/benchmark_results.json", "w") as f:
json.dump(res, f, indent=4)
json.dump(res, f, indent=4)

1 comment on commit 3ad48b4

@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 307.76 ns 1.85 ns 1.87 ns 0.99 -
Subscribe empty callbacks to empty observable via pipe operator 304.49 ns 1.85 ns 1.85 ns 1.00 -

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 688.59 ns 0.31 ns 0.31 ns 1.00 -
from array of 1 - create + subscribe + current_thread 1042.94 ns 3.42 ns 3.42 ns 1.00 -
concat_as_source of just(1 immediate) create + subscribe 2224.57 ns 121.20 ns 114.25 ns 1.06 -
defer from array of 1 - defer + create + subscribe + immediate 734.50 ns 0.31 ns 0.31 ns 1.00 -
interval - interval + take(3) + subscribe + immediate 2130.28 ns 59.23 ns 59.23 ns 1.00 -
interval - interval + take(3) + subscribe + current_thread 3029.45 ns 32.46 ns 32.42 ns 1.00 -
from array of 1 - create + as_blocking + subscribe + new_thread 27233.90 ns 27641.95 ns 28162.83 ns 0.98 -
from array of 1000 - create + as_blocking + subscribe + new_thread 39542.57 ns 50808.10 ns 51101.16 ns 0.99 -
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3439.61 ns 134.11 ns 141.13 ns 0.95 -

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1082.70 ns 0.31 ns 0.31 ns 1.00 -
immediate_just+filter(true)+subscribe 881.59 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2)+skip(1)+subscribe 1003.20 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,1,2)+distinct_until_changed()+subscribe 842.61 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2)+first()+subscribe 1256.92 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2)+last()+subscribe 893.43 ns 0.31 ns 0.31 ns 1.00 -
immediate_just+take_last(1)+subscribe 1176.63 ns 18.53 ns 18.84 ns 0.98 -
immediate_just(1,2,3)+element_at(1)+subscribe 831.48 ns 0.31 ns 0.31 ns 1.00 -

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 289.16 ns 1.54 ns 1.54 ns 1.00 -
current_thread scheduler create worker + schedule 371.87 ns 4.63 ns 4.63 ns 1.00 -
current_thread scheduler create worker + schedule + recursive schedule 837.29 ns 60.53 ns 60.52 ns 1.00 -

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 872.96 ns 0.31 ns 0.31 ns 0.99 -
immediate_just+scan(10, std::plus)+subscribe 893.28 ns 0.31 ns 0.31 ns 1.00 -
immediate_just+flat_map(immediate_just(v*2))+subscribe 2311.69 ns 139.94 ns 139.59 ns 1.00 -
immediate_just+buffer(2)+subscribe 1565.53 ns 14.21 ns 14.19 ns 1.00 -
immediate_just+window(2)+subscribe + subscsribe inner 2449.45 ns 1267.78 ns 1323.82 ns 0.96 -

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 1954.49 ns 0.29 ns 0.31 ns 0.95 -

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3267.50 ns 165.80 ns 168.04 ns 0.99 -
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3688.32 ns 160.10 ns 157.58 ns 1.02 -
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 132.75 ns 138.35 ns 0.96 -
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3364.50 ns 382.07 ns 400.74 ns 0.95 -
immediate_just(1) + zip(immediate_just(2)) + subscribe 2131.84 ns 211.74 ns 214.30 ns 0.99 -
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 2951.23 ns 211.43 ns 223.54 ns 0.95 -

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 57.50 ns 14.67 ns 14.67 ns 1.00 -
subscribe 100 observers to publish_subject 201569.60 ns 16207.82 ns 15790.18 ns 1.03 -
100 on_next to 100 observers to publish_subject 29842.35 ns 20212.75 ns 17286.17 ns 1.17 -

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1326.60 ns 12.96 ns 12.97 ns 1.00 -
basic sample with immediate scheduler 1358.17 ns 5.34 ns 5.55 ns 0.96 -

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 925.91 ns 0.31 ns 0.31 ns 1.00 -

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 2044.85 ns 997.94 ns 986.74 ns 1.01 -
create(on_error())+retry(1)+subscribe 655.78 ns 112.13 ns 121.60 ns 0.92 -

ci-macos

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 1016.54 ns 0.47 ns 0.47 ns 1.00 -
Subscribe empty callbacks to empty observable via pipe operator 970.40 ns 0.47 ns 0.47 ns 0.99 -

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1917.67 ns 0.23 ns 0.24 ns 0.98 -
from array of 1 - create + subscribe + current_thread 2405.93 ns 33.11 ns 34.27 ns 0.97 -
concat_as_source of just(1 immediate) create + subscribe 5362.88 ns 315.41 ns 340.37 ns 0.93 -
defer from array of 1 - defer + create + subscribe + immediate 2381.62 ns 0.30 ns 0.24 ns 1.29 -
interval - interval + take(3) + subscribe + immediate 6027.44 ns 136.87 ns 117.05 ns 1.17 -
interval - interval + take(3) + subscribe + current_thread 7035.38 ns 118.61 ns 99.17 ns 1.20 -
from array of 1 - create + as_blocking + subscribe + new_thread 83829.75 ns 82168.38 ns 89869.77 ns 0.91 -
from array of 1000 - create + as_blocking + subscribe + new_thread 96606.40 ns 87268.00 ns 89302.27 ns 0.98 -
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 8157.23 ns 361.38 ns 368.19 ns 0.98 -

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 3482.86 ns 0.28 ns 0.24 ns 1.17 -
immediate_just+filter(true)+subscribe 2096.32 ns 0.23 ns 0.24 ns 0.98 -
immediate_just(1,2)+skip(1)+subscribe 3396.74 ns 0.28 ns 0.23 ns 1.20 -
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2452.17 ns 0.57 ns 0.47 ns 1.23 -
immediate_just(1,2)+first()+subscribe 3166.09 ns 0.23 ns 0.23 ns 1.00 -
immediate_just(1,2)+last()+subscribe 2619.87 ns 0.23 ns 0.23 ns 1.00 -
immediate_just+take_last(1)+subscribe 3066.86 ns 0.29 ns 0.23 ns 1.25 -
immediate_just(1,2,3)+element_at(1)+subscribe 2262.19 ns 0.24 ns 0.24 ns 0.99 -

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 1045.04 ns 1.12 ns 0.93 ns 1.20 -
current_thread scheduler create worker + schedule 1497.88 ns 43.16 ns 34.05 ns 1.27 -
current_thread scheduler create worker + schedule + recursive schedule 2448.58 ns 257.69 ns 198.05 ns 1.30 -

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 2407.65 ns 4.77 ns 4.20 ns 1.14 -
immediate_just+scan(10, std::plus)+subscribe 2598.80 ns 0.53 ns 0.47 ns 1.14 -
immediate_just+flat_map(immediate_just(v*2))+subscribe 6151.10 ns 433.47 ns 371.74 ns 1.17 -
immediate_just+buffer(2)+subscribe 3014.04 ns 73.17 ns 64.55 ns 1.13 -
immediate_just+window(2)+subscribe + subscsribe inner 6309.87 ns 2817.10 ns 2355.76 ns 1.20 -

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 2241.68 ns - - 0.00 -
immediate_just+take_while(true)+subscribe 2381.03 ns 0.26 ns 0.23 ns 1.11 -

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 5707.15 ns 6.02 ns 5.22 ns 1.15 -

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 9701.81 ns 540.47 ns 415.22 ns 1.30 -
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 11001.73 ns 536.73 ns 408.51 ns 1.31 -
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 588.14 ns 448.25 ns 1.31 -
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 10495.74 ns 1180.96 ns 923.63 ns 1.28 -
immediate_just(1) + zip(immediate_just(2)) + subscribe 5678.08 ns 894.58 ns 829.68 ns 1.08 -
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 9385.46 ns 817.71 ns 646.56 ns 1.26 -

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 89.70 ns 60.77 ns 281.89 ns 0.22 -
subscribe 100 observers to publish_subject 420967.50 ns 48761.32 ns 64190.60 ns 0.76 -
100 on_next to 100 observers to publish_subject 66214.38 ns 24666.16 ns 26821.00 ns 0.92 -

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 3222.94 ns 84.82 ns 71.74 ns 1.18 -
basic sample with immediate scheduler 3308.92 ns 21.88 ns 18.70 ns 1.17 -

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 2932.56 ns 0.27 ns 0.24 ns 1.13 -

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 7389.32 ns 4711.88 ns 4166.91 ns 1.13 -
create(on_error())+retry(1)+subscribe 2233.11 ns 335.57 ns 286.28 ns 1.17 -

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 266.52 ns 0.64 ns 1.54 ns 0.42 -
Subscribe empty callbacks to empty observable via pipe operator 271.03 ns 0.63 ns 1.55 ns 0.41 -

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 567.37 ns 0.31 ns 0.31 ns 1.00 -
from array of 1 - create + subscribe + current_thread 785.19 ns 4.01 ns 4.01 ns 1.00 -
concat_as_source of just(1 immediate) create + subscribe 2320.91 ns 130.06 ns 130.49 ns 1.00 -
defer from array of 1 - defer + create + subscribe + immediate 775.71 ns 0.31 ns 0.31 ns 1.00 -
interval - interval + take(3) + subscribe + immediate 2207.47 ns 58.26 ns 58.35 ns 1.00 -
interval - interval + take(3) + subscribe + current_thread 3171.45 ns 30.93 ns 30.88 ns 1.00 -
from array of 1 - create + as_blocking + subscribe + new_thread 27531.98 ns 27987.29 ns 27554.74 ns 1.02 -
from array of 1000 - create + as_blocking + subscribe + new_thread 38984.97 ns 35210.87 ns 32730.79 ns 1.08 -
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3652.72 ns 147.80 ns 148.58 ns 0.99 -

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1138.07 ns 0.31 ns 0.31 ns 1.00 -
immediate_just+filter(true)+subscribe 838.85 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2)+skip(1)+subscribe 1071.36 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,1,2)+distinct_until_changed()+subscribe 883.22 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2)+first()+subscribe 1355.15 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2)+last()+subscribe 998.01 ns 0.31 ns 0.31 ns 1.00 -
immediate_just+take_last(1)+subscribe 1192.37 ns 0.31 ns 0.31 ns 1.00 -
immediate_just(1,2,3)+element_at(1)+subscribe 865.58 ns 0.31 ns 0.31 ns 1.00 -

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 279.04 ns 1.54 ns 0.63 ns 2.43 -
current_thread scheduler create worker + schedule 389.75 ns 4.02 ns 4.03 ns 1.00 -
current_thread scheduler create worker + schedule + recursive schedule 848.25 ns 62.70 ns 62.61 ns 1.00 -

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 836.92 ns 0.31 ns 0.31 ns 1.00 -
immediate_just+scan(10, std::plus)+subscribe 957.51 ns 0.62 ns 0.62 ns 1.00 -
immediate_just+flat_map(immediate_just(v*2))+subscribe 2227.69 ns 137.86 ns 135.85 ns 1.01 -
immediate_just+buffer(2)+subscribe 1539.25 ns 14.51 ns 13.89 ns 1.04 -
immediate_just+window(2)+subscribe + subscsribe inner 2429.63 ns 905.01 ns 918.83 ns 0.98 -

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(1)+subscribe_on(immediate)+subscribe 1970.62 ns 0.31 ns 0.31 ns 1.00 -

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3224.31 ns 159.95 ns 159.89 ns 1.00 -
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3720.99 ns 140.22 ns 139.10 ns 1.01 -
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 140.15 ns 141.78 ns 0.99 -
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3345.18 ns 376.65 ns 378.00 ns 1.00 -
immediate_just(1) + zip(immediate_just(2)) + subscribe 2180.91 ns 211.05 ns 207.68 ns 1.02 -
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3208.17 ns 223.43 ns 220.19 ns 1.01 -

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 52.18 ns 17.46 ns 17.25 ns 1.01 -
subscribe 100 observers to publish_subject 212057.00 ns 16052.25 ns 16091.58 ns 1.00 -
100 on_next to 100 observers to publish_subject 38725.15 ns 23453.26 ns 23467.86 ns 1.00 -

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1299.40 ns 10.81 ns 10.81 ns 1.00 -
basic sample with immediate scheduler 1289.24 ns 6.17 ns 6.17 ns 1.00 -

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 985.39 ns 0.31 ns 0.31 ns 1.00 -

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 2164.01 ns 1174.38 ns 1156.23 ns 1.02 -
create(on_error())+retry(1)+subscribe 644.03 ns 138.91 ns 138.51 ns 1.00 -

ci-windows

General

name rxcpp rpp prev rpp ratio rpp no optimization
Subscribe empty callbacks to empty observable 560.01 ns 1.85 ns 2.16 ns 0.86 -
Subscribe empty callbacks to empty observable via pipe operator 576.17 ns 1.85 ns 2.16 ns 0.86 -

Sources

name rxcpp rpp prev rpp ratio rpp no optimization
from array of 1 - create + subscribe + immediate 1148.08 ns 5.24 ns 5.24 ns 1.00 -
from array of 1 - create + subscribe + current_thread 1405.68 ns 15.45 ns 15.46 ns 1.00 -
concat_as_source of just(1 immediate) create + subscribe 3708.13 ns 173.35 ns 174.80 ns 0.99 -
defer from array of 1 - defer + create + subscribe + immediate 1189.11 ns 5.24 ns 5.24 ns 1.00 -
interval - interval + take(3) + subscribe + immediate 3257.34 ns 140.92 ns 139.83 ns 1.01 -
interval - interval + take(3) + subscribe + current_thread 3429.74 ns 59.06 ns 60.21 ns 0.98 -
from array of 1 - create + as_blocking + subscribe + new_thread 121680.00 ns 114833.33 ns 115290.00 ns 1.00 -
from array of 1000 - create + as_blocking + subscribe + new_thread 129111.11 ns 132387.50 ns 135300.00 ns 0.98 -
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5356.63 ns 213.16 ns 202.00 ns 1.06 -

Filtering Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take(1)+subscribe 1838.91 ns 19.74 ns 19.44 ns 1.02 -
immediate_just+filter(true)+subscribe 1618.45 ns 18.81 ns 18.50 ns 1.02 -
immediate_just(1,2)+skip(1)+subscribe 1711.59 ns 18.50 ns 17.89 ns 1.03 -
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1348.30 ns 23.44 ns 20.69 ns 1.13 -
immediate_just(1,2)+first()+subscribe 2323.40 ns 17.29 ns 18.20 ns 0.95 -
immediate_just(1,2)+last()+subscribe 1736.57 ns 18.51 ns 19.13 ns 0.97 -
immediate_just+take_last(1)+subscribe 2031.97 ns 68.89 ns 69.76 ns 0.99 -
immediate_just(1,2,3)+element_at(1)+subscribe 1622.54 ns 21.90 ns 20.98 ns 1.04 -

Schedulers

name rxcpp rpp prev rpp ratio rpp no optimization
immediate scheduler create worker + schedule 479.59 ns 4.32 ns 4.32 ns 1.00 -
current_thread scheduler create worker + schedule 652.18 ns 11.66 ns 11.68 ns 1.00 -
current_thread scheduler create worker + schedule + recursive schedule 1322.94 ns 98.48 ns 95.64 ns 1.03 -

Transforming Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+map(v*2)+subscribe 1348.47 ns 18.82 ns 18.82 ns 1.00 -
immediate_just+scan(10, std::plus)+subscribe 1424.13 ns 21.29 ns 20.97 ns 1.01 -
immediate_just+flat_map(immediate_just(v*2))+subscribe 3829.20 ns 190.79 ns 189.43 ns 1.01 -
immediate_just+buffer(2)+subscribe 2381.50 ns 63.43 ns 63.52 ns 1.00 -
immediate_just+window(2)+subscribe + subscsribe inner 4056.34 ns 1311.69 ns 1321.18 ns 0.99 -

Conditional Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+take_while(false)+subscribe 1328.78 ns 17.57 ns 17.58 ns 1.00 -
immediate_just+take_while(true)+subscribe 1325.85 ns 18.82 ns 18.50 ns 1.02 -

Utility Operators

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

Combining Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5481.52 ns 202.53 ns 204.81 ns 0.99 -
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5773.45 ns 183.10 ns 187.40 ns 0.98 -
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 193.49 ns 194.18 ns 1.00 -
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6176.06 ns 462.39 ns 456.56 ns 1.01 -
immediate_just(1) + zip(immediate_just(2)) + subscribe 3817.08 ns 528.45 ns 524.38 ns 1.01 -
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4955.36 ns 334.49 ns 326.95 ns 1.02 -

Subjects

name rxcpp rpp prev rpp ratio rpp no optimization
publish_subject with 1 observer - on_next 36.05 ns 20.36 ns 20.76 ns 0.98 -
subscribe 100 observers to publish_subject 257750.00 ns 28097.56 ns 27674.42 ns 1.02 -
100 on_next to 100 observers to publish_subject 52240.91 ns 36128.12 ns 36103.57 ns 1.00 -

Scenarios

name rxcpp rpp prev rpp ratio rpp no optimization
basic sample 1888.81 ns 95.69 ns 96.02 ns 1.00 -
basic sample with immediate scheduler 1912.36 ns 68.20 ns 68.06 ns 1.00 -

Aggregating Operators

name rxcpp rpp prev rpp ratio rpp no optimization
immediate_just+reduce(10, std::plus)+subscribe 1437.90 ns 19.42 ns 19.11 ns 1.02 -

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 1993.76 ns 357.98 ns 361.03 ns 0.99 -
create(on_error())+retry(1)+subscribe 1465.33 ns 138.22 ns 138.06 ns 1.00 -

Please sign in to comment.