Skip to content

Commit

Permalink
add new benchmarks (#676)
Browse files Browse the repository at this point in the history
  • Loading branch information
victimsnino authored Nov 6, 2024
1 parent 93eb3b7 commit 9aa557c
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/benchmarks/benchmarks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,24 @@ int main(int argc, char* argv[]) // NOLINT(bugprone-exception-escape)
| rxcpp::operators::subscribe<int>([](int v) { ankerl::nanobench::doNotOptimizeAway(v); });
});
}
SECTION("immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe")
{
TEST_RPP([&]() {
auto inner_source = rpp::immediate_just(1);

rpp::immediate_just(inner_source, inner_source)
| rpp::operators::concat()
| rpp::operators::subscribe([](int v) { ankerl::nanobench::doNotOptimizeAway(v); });
});

TEST_RXCPP([&]() {
auto inner_source = rxcpp::immediate_just(1);

rxcpp::immediate_just(inner_source, inner_source)
| rxcpp::operators::concat()
| rxcpp::operators::subscribe<int>([](int v) { ankerl::nanobench::doNotOptimizeAway(v); });
});
}

SECTION("immediate_just(1) + merge_with(immediate_just(2)) + subscribe")
{
Expand Down

1 comment on commit 9aa557c

@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
Subscribe empty callbacks to empty observable 300.30 ns 1.54 ns 1.54 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 309.93 ns 1.54 ns 1.54 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 683.72 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 1023.95 ns 3.43 ns 3.43 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2229.48 ns 123.73 ns 97.16 ns 1.27
defer from array of 1 - defer + create + subscribe + immediate 719.34 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2107.32 ns 59.19 ns 59.23 ns 1.00
interval - interval + take(3) + subscribe + current_thread 2998.74 ns 32.40 ns 32.69 ns 0.99
from array of 1 - create + as_blocking + subscribe + new_thread 30351.90 ns 28243.23 ns 28135.50 ns 1.00
from array of 1000 - create + as_blocking + subscribe + new_thread 39915.23 ns 49260.17 ns 52994.05 ns 0.93
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3448.42 ns 138.01 ns 119.38 ns 1.16

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1060.39 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 823.77 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1015.75 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 858.63 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1224.07 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 914.34 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1104.75 ns 18.22 ns 18.20 ns 1.00
immediate_just(1,2,3)+element_at(1)+subscribe 898.90 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 293.06 ns 0.62 ns 0.62 ns 1.00
current_thread scheduler create worker + schedule 364.03 ns 4.63 ns 4.63 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 839.13 ns 61.11 ns 62.63 ns 0.98

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 835.88 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 887.51 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2324.82 ns 144.35 ns 139.40 ns 1.04
immediate_just+buffer(2)+subscribe 1517.17 ns 13.90 ns 13.89 ns 1.00
immediate_just+window(2)+subscribe + subscsribe inner 2418.19 ns 1372.13 ns 1059.69 ns 1.29

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 826.74 ns - - 0.00
immediate_just+take_while(true)+subscribe 836.72 ns 0.31 ns 0.31 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1973.98 ns 0.31 ns 0.31 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3392.44 ns 152.08 ns 147.16 ns 1.03
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3639.92 ns 155.52 ns 155.91 ns 1.00
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 138.82 ns 145.01 ns 0.96
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3542.67 ns 1119.03 ns 899.35 ns 1.24
immediate_just(1) + zip(immediate_just(2)) + subscribe 2085.19 ns 221.27 ns 200.55 ns 1.10
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3169.98 ns 1346.05 ns - 0.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 34.56 ns 14.60 ns 14.89 ns 0.98
subscribe 100 observers to publish_subject 198879.50 ns 15701.14 ns 15063.01 ns 1.04
100 on_next to 100 observers to publish_subject 26817.90 ns 20189.50 ns 17444.20 ns 1.16

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1391.94 ns 12.96 ns 12.96 ns 1.00
basic sample with immediate scheduler 1420.55 ns 5.55 ns 5.56 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 920.70 ns 0.31 ns 0.31 ns 1.00

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 2020.22 ns 994.45 ns 980.98 ns 1.01
create(on_error())+retry(1)+subscribe 589.82 ns 112.09 ns 100.55 ns 1.11

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1458.71 ns 1.30 ns 0.47 ns 2.75
Subscribe empty callbacks to empty observable via pipe operator 1416.40 ns 1.44 ns 0.47 ns 3.10

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 2657.08 ns 0.36 ns 0.23 ns 1.55
from array of 1 - create + subscribe + current_thread 3240.24 ns 46.72 ns 31.41 ns 1.49
concat_as_source of just(1 immediate) create + subscribe 5844.94 ns 408.28 ns 321.08 ns 1.27
defer from array of 1 - defer + create + subscribe + immediate 2396.81 ns 0.26 ns 0.23 ns 1.11
interval - interval + take(3) + subscribe + immediate 5428.72 ns 139.89 ns 114.03 ns 1.23
interval - interval + take(3) + subscribe + current_thread 7417.26 ns 113.04 ns 96.04 ns 1.18
from array of 1 - create + as_blocking + subscribe + new_thread 103276.70 ns 110933.60 ns 84282.46 ns 1.32
from array of 1000 - create + as_blocking + subscribe + new_thread 110213.91 ns 110597.90 ns 88033.64 ns 1.26
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 8761.80 ns 384.93 ns 363.52 ns 1.06

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 3720.37 ns 0.31 ns 0.23 ns 1.34
immediate_just+filter(true)+subscribe 2773.74 ns 0.32 ns 0.23 ns 1.38
immediate_just(1,2)+skip(1)+subscribe 3593.91 ns 0.32 ns 0.23 ns 1.37
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2635.95 ns 0.61 ns 0.45 ns 1.38
immediate_just(1,2)+first()+subscribe 4053.33 ns 0.31 ns 0.22 ns 1.37
immediate_just(1,2)+last()+subscribe 3070.28 ns 0.32 ns 0.27 ns 1.17
immediate_just+take_last(1)+subscribe 3851.04 ns 0.31 ns 0.23 ns 1.34
immediate_just(1,2,3)+element_at(1)+subscribe 2699.39 ns 0.31 ns 0.23 ns 1.34

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 891.88 ns 0.53 ns 0.93 ns 0.57
current_thread scheduler create worker + schedule 1349.68 ns 36.37 ns 31.75 ns 1.15
current_thread scheduler create worker + schedule + recursive schedule 2398.44 ns 251.50 ns 191.32 ns 1.31

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2510.14 ns 4.95 ns 4.52 ns 1.10
immediate_just+scan(10, std::plus)+subscribe 3260.90 ns 0.64 ns 0.45 ns 1.45
immediate_just+flat_map(immediate_just(v*2))+subscribe 7165.46 ns 523.03 ns 354.76 ns 1.47
immediate_just+buffer(2)+subscribe 3560.02 ns 93.31 ns 62.09 ns 1.50
immediate_just+window(2)+subscribe + subscsribe inner 7187.18 ns 3189.36 ns 2273.31 ns 1.40

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2646.57 ns - - 0.00
immediate_just+take_while(true)+subscribe 2245.15 ns 0.27 ns 0.22 ns 1.19

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 6012.71 ns 6.22 ns 4.90 ns 1.27

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 8082.09 ns 444.95 ns 399.44 ns 1.11
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 8940.27 ns 434.00 ns 391.44 ns 1.11
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 471.19 ns 429.75 ns 1.10
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 11807.97 ns 2160.15 ns 1793.63 ns 1.20
immediate_just(1) + zip(immediate_just(2)) + subscribe 7377.96 ns 1310.59 ns 787.12 ns 1.67
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 9602.74 ns 2956.42 ns - 0.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 86.21 ns 54.90 ns 49.29 ns 1.11
subscribe 100 observers to publish_subject 398591.33 ns 46789.48 ns 40601.04 ns 1.15
100 on_next to 100 observers to publish_subject 60455.68 ns 22267.59 ns 20842.39 ns 1.07

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 3222.16 ns 74.57 ns 69.35 ns 1.08
basic sample with immediate scheduler 2773.20 ns 21.94 ns 18.62 ns 1.18

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 2995.10 ns 0.29 ns 0.23 ns 1.27

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 8895.71 ns 5604.16 ns 4040.79 ns 1.39
create(on_error())+retry(1)+subscribe 1964.50 ns 286.56 ns 278.92 ns 1.03

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 270.38 ns 1.55 ns 0.63 ns 2.45
Subscribe empty callbacks to empty observable via pipe operator 270.40 ns 1.54 ns 0.63 ns 2.43

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 557.33 ns 0.42 ns 0.31 ns 1.36
from array of 1 - create + subscribe + current_thread 783.83 ns 4.01 ns 4.01 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2315.23 ns 130.11 ns 128.35 ns 1.01
defer from array of 1 - defer + create + subscribe + immediate 777.15 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2215.40 ns 58.31 ns 58.27 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3196.72 ns 30.88 ns 30.86 ns 1.00
from array of 1 - create + as_blocking + subscribe + new_thread 31875.06 ns 29929.21 ns 27950.18 ns 1.07
from array of 1000 - create + as_blocking + subscribe + new_thread 46142.91 ns 43192.83 ns 33562.10 ns 1.29
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3649.65 ns 148.10 ns 146.99 ns 1.01

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1149.33 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 846.03 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1074.50 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 875.97 ns 0.62 ns 0.62 ns 1.00
immediate_just(1,2)+first()+subscribe 1364.94 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 1051.80 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1186.85 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2,3)+element_at(1)+subscribe 864.93 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 281.50 ns 0.63 ns 1.54 ns 0.41
current_thread scheduler create worker + schedule 392.85 ns 4.32 ns 4.01 ns 1.08
current_thread scheduler create worker + schedule + recursive schedule 849.48 ns 55.55 ns 62.34 ns 0.89

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 834.52 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 957.12 ns 0.31 ns 0.33 ns 0.93
immediate_just+flat_map(immediate_just(v*2))+subscribe 2232.61 ns 140.15 ns 140.77 ns 1.00
immediate_just+buffer(2)+subscribe 1508.87 ns 13.59 ns 13.58 ns 1.00
immediate_just+window(2)+subscribe + subscsribe inner 2440.86 ns 893.72 ns 919.72 ns 0.97

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 851.56 ns - - 0.00
immediate_just+take_while(true)+subscribe 838.21 ns 0.31 ns 0.31 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1992.26 ns 0.31 ns 0.31 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 3219.18 ns 156.03 ns 157.27 ns 0.99
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3753.33 ns 139.21 ns 139.84 ns 1.00
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 142.09 ns 142.92 ns 0.99
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3405.56 ns 827.82 ns 843.39 ns 0.98
immediate_just(1) + zip(immediate_just(2)) + subscribe 2247.05 ns 202.16 ns 198.43 ns 1.02
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3261.78 ns 959.26 ns - 0.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 53.97 ns 17.76 ns 17.72 ns 1.00
subscribe 100 observers to publish_subject 203398.20 ns 16121.65 ns 16152.61 ns 1.00
100 on_next to 100 observers to publish_subject 45872.70 ns 23591.16 ns 23500.52 ns 1.00

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1290.67 ns 12.04 ns 11.42 ns 1.05
basic sample with immediate scheduler 1300.01 ns 5.86 ns 5.86 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 997.51 ns 0.31 ns 0.31 ns 1.00

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 2159.54 ns 1176.18 ns 1162.25 ns 1.01
create(on_error())+retry(1)+subscribe 646.12 ns 139.59 ns 140.31 ns 0.99

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 564.73 ns 1.85 ns 2.16 ns 0.86
Subscribe empty callbacks to empty observable via pipe operator 584.40 ns 1.85 ns 2.16 ns 0.86

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1174.60 ns 5.24 ns 5.24 ns 1.00
from array of 1 - create + subscribe + current_thread 1422.46 ns 15.45 ns 15.45 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 3715.60 ns 170.46 ns 176.09 ns 0.97
defer from array of 1 - defer + create + subscribe + immediate 1195.60 ns 5.24 ns 5.24 ns 1.00
interval - interval + take(3) + subscribe + immediate 3662.07 ns 140.86 ns 140.70 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3402.53 ns 62.47 ns 59.80 ns 1.04
from array of 1 - create + as_blocking + subscribe + new_thread 121388.89 ns 114730.00 ns 112690.00 ns 1.02
from array of 1000 - create + as_blocking + subscribe + new_thread 130144.44 ns 132100.00 ns 130455.56 ns 1.01
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5329.30 ns 204.70 ns 211.32 ns 0.97

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1838.49 ns 19.74 ns 19.74 ns 1.00
immediate_just+filter(true)+subscribe 1628.67 ns 18.80 ns 18.86 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1731.27 ns 18.50 ns 18.52 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1350.31 ns 23.44 ns 23.46 ns 1.00
immediate_just(1,2)+first()+subscribe 2360.46 ns 17.28 ns 17.76 ns 0.97
immediate_just(1,2)+last()+subscribe 1735.98 ns 18.52 ns 18.56 ns 1.00
immediate_just+take_last(1)+subscribe 2008.22 ns 64.38 ns 65.26 ns 0.99
immediate_just(1,2,3)+element_at(1)+subscribe 1663.88 ns 21.91 ns 21.92 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 476.74 ns 4.32 ns 4.32 ns 1.00
current_thread scheduler create worker + schedule 653.19 ns 11.70 ns 11.43 ns 1.02
current_thread scheduler create worker + schedule + recursive schedule 1092.24 ns 102.07 ns 99.22 ns 1.03

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1341.98 ns 18.82 ns 18.81 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 1431.27 ns 20.97 ns 20.96 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 3842.07 ns 180.34 ns 186.55 ns 0.97
immediate_just+buffer(2)+subscribe 2311.61 ns 65.04 ns 65.08 ns 1.00
immediate_just+window(2)+subscribe + subscsribe inner 4005.56 ns 1320.02 ns 1303.97 ns 1.01

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1319.50 ns 17.57 ns 17.58 ns 1.00
immediate_just+take_while(true)+subscribe 1329.58 ns 18.81 ns 18.82 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 3133.54 ns 11.10 ns 11.11 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5099.00 ns 201.76 ns 205.94 ns 0.98
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5722.53 ns 186.19 ns 198.84 ns 0.94
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 196.20 ns 200.26 ns 0.98
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6142.02 ns 950.84 ns 952.33 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 3820.60 ns 519.14 ns 515.65 ns 1.01
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4855.41 ns 1172.56 ns - 0.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 36.79 ns 20.08 ns 19.58 ns 1.03
subscribe 100 observers to publish_subject 259225.00 ns 27061.90 ns 27532.50 ns 0.98
100 on_next to 100 observers to publish_subject 51518.18 ns 35741.38 ns 32609.68 ns 1.10

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1906.62 ns 98.19 ns 95.34 ns 1.03
basic sample with immediate scheduler 1900.00 ns 69.04 ns 68.44 ns 1.01

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1448.52 ns 19.42 ns 19.43 ns 1.00

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 1916.48 ns 362.69 ns 364.29 ns 1.00
create(on_error())+retry(1)+subscribe 1437.85 ns 138.74 ns 146.05 ns 0.95

Please sign in to comment.