Skip to content

Commit

Permalink
Update CMakeLists.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
victimsnino authored Nov 22, 2024
1 parent 86b6bbb commit d309d58
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ include(cmake/prelude.cmake)

project(
ReactivePlusPlus
VERSION 2.2.0
VERSION 2.2.1
DESCRIPTION "ReactivePlusPlus is library for building asynchronous event-driven streams of data with help of sequences of primitive operators in the declarative form"
HOMEPAGE_URL "https://github.com/victimsnino/ReactivePlusPlus"
LANGUAGES CXX
Expand Down

1 comment on commit d309d58

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

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 691.06 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 1053.78 ns 3.42 ns 3.43 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2256.92 ns 114.25 ns 111.42 ns 1.03
defer from array of 1 - defer + create + subscribe + immediate 736.22 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2176.26 ns 59.23 ns 59.29 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3026.79 ns 32.42 ns 32.46 ns 1.00
from array of 1 - create + as_blocking + subscribe + new_thread 30263.58 ns 28162.83 ns 27946.12 ns 1.01
from array of 1000 - create + as_blocking + subscribe + new_thread 41488.22 ns 51101.16 ns 52624.58 ns 0.97
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3511.92 ns 141.13 ns 139.50 ns 1.01

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1094.42 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 822.20 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1014.54 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 877.66 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1252.34 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 923.79 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1119.62 ns 18.84 ns 18.22 ns 1.03
immediate_just(1,2,3)+element_at(1)+subscribe 881.59 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 258.36 ns 1.54 ns 1.54 ns 1.00
current_thread scheduler create worker + schedule 371.68 ns 4.63 ns 4.63 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 808.01 ns 60.52 ns 60.91 ns 0.99

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 833.21 ns 0.31 ns 0.31 ns 1.01
immediate_just+scan(10, std::plus)+subscribe 902.89 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2330.87 ns 139.59 ns 150.16 ns 0.93
immediate_just+buffer(2)+subscribe 1517.11 ns 14.19 ns 13.90 ns 1.02
immediate_just+window(2)+subscribe + subscsribe inner 2407.53 ns 1323.82 ns 1336.72 ns 0.99

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1997.50 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 3398.75 ns 168.04 ns 170.11 ns 0.99
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3704.32 ns 157.58 ns 162.91 ns 0.97
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 138.35 ns 147.43 ns 0.94
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3603.43 ns 400.74 ns 373.29 ns 1.07
immediate_just(1) + zip(immediate_just(2)) + subscribe 2112.02 ns 214.30 ns 213.98 ns 1.00
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3094.61 ns 223.54 ns 222.74 ns 1.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 34.55 ns 14.67 ns 14.67 ns 1.00
subscribe 100 observers to publish_subject 204804.00 ns 15790.18 ns 16476.81 ns 0.96
100 on_next to 100 observers to publish_subject 27816.93 ns 17286.17 ns 20131.38 ns 0.86

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1303.88 ns 12.97 ns 12.97 ns 1.00
basic sample with immediate scheduler 1371.74 ns 5.55 ns 5.55 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 982.82 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 2090.77 ns 986.74 ns 996.03 ns 0.99
create(on_error())+retry(1)+subscribe 596.33 ns 121.60 ns 112.56 ns 1.08

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 987.04 ns 0.47 ns 0.47 ns 1.01
Subscribe empty callbacks to empty observable via pipe operator 986.11 ns 0.47 ns 0.51 ns 0.93

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1966.74 ns 0.24 ns 0.27 ns 0.88
from array of 1 - create + subscribe + current_thread 2486.79 ns 34.27 ns 33.75 ns 1.02
concat_as_source of just(1 immediate) create + subscribe 5536.79 ns 340.37 ns 316.80 ns 1.07
defer from array of 1 - defer + create + subscribe + immediate 2029.08 ns 0.24 ns 0.23 ns 1.01
interval - interval + take(3) + subscribe + immediate 5133.36 ns 117.05 ns 114.07 ns 1.03
interval - interval + take(3) + subscribe + current_thread 6036.97 ns 99.17 ns 98.59 ns 1.01
from array of 1 - create + as_blocking + subscribe + new_thread 88195.36 ns 89869.77 ns 82186.92 ns 1.09
from array of 1000 - create + as_blocking + subscribe + new_thread 94692.64 ns 89302.27 ns 92108.75 ns 0.97
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 8626.14 ns 368.19 ns 360.00 ns 1.02

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 2864.47 ns 0.24 ns 0.23 ns 1.01
immediate_just+filter(true)+subscribe 2139.36 ns 0.24 ns 0.23 ns 1.01
immediate_just(1,2)+skip(1)+subscribe 2737.36 ns 0.23 ns 0.23 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2103.88 ns 0.47 ns 0.47 ns 1.00
immediate_just(1,2)+first()+subscribe 3168.61 ns 0.23 ns 0.24 ns 0.99
immediate_just(1,2)+last()+subscribe 2366.32 ns 0.23 ns 0.23 ns 1.00
immediate_just+take_last(1)+subscribe 3115.63 ns 0.23 ns 0.24 ns 0.99
immediate_just(1,2,3)+element_at(1)+subscribe 2156.57 ns 0.24 ns 0.23 ns 1.02

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 854.61 ns 0.93 ns 1.05 ns 0.89
current_thread scheduler create worker + schedule 1183.28 ns 34.05 ns 35.30 ns 0.96
current_thread scheduler create worker + schedule + recursive schedule 2001.87 ns 198.05 ns 201.32 ns 0.98

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2100.72 ns 4.20 ns 4.20 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 2335.39 ns 0.47 ns 0.47 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 5316.68 ns 371.74 ns 412.75 ns 0.90
immediate_just+buffer(2)+subscribe 2502.45 ns 64.55 ns 63.18 ns 1.02
immediate_just+window(2)+subscribe + subscsribe inner 5556.26 ns 2355.76 ns 2363.55 ns 1.00

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2100.33 ns - - 0.00
immediate_just+take_while(true)+subscribe 2101.05 ns 0.23 ns 0.24 ns 0.96

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 4999.46 ns 5.22 ns 4.90 ns 1.07

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 7449.60 ns 415.22 ns 415.72 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 8462.20 ns 408.51 ns 408.99 ns 1.00
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 448.25 ns 451.67 ns 0.99
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 7948.15 ns 923.63 ns 981.13 ns 0.94
immediate_just(1) + zip(immediate_just(2)) + subscribe 5146.20 ns 829.68 ns 829.58 ns 1.00
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 7450.08 ns 646.56 ns 640.48 ns 1.01

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 112.12 ns 281.89 ns 50.87 ns 5.54
subscribe 100 observers to publish_subject 2634803.00 ns 64190.60 ns 40750.29 ns 1.58
100 on_next to 100 observers to publish_subject 178257.89 ns 26821.00 ns 20991.56 ns 1.28

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 2768.72 ns 71.74 ns 71.82 ns 1.00
basic sample with immediate scheduler 2770.06 ns 18.70 ns 18.81 ns 0.99

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 2425.05 ns 0.24 ns 0.23 ns 1.02

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 6644.83 ns 4166.91 ns 4065.71 ns 1.02
create(on_error())+retry(1)+subscribe 1846.79 ns 286.28 ns 277.38 ns 1.03

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 270.04 ns 1.54 ns 1.55 ns 0.99
Subscribe empty callbacks to empty observable via pipe operator 272.83 ns 1.55 ns 1.55 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 570.20 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 801.54 ns 4.01 ns 4.01 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2389.59 ns 130.49 ns 129.93 ns 1.00
defer from array of 1 - defer + create + subscribe + immediate 780.83 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2218.28 ns 58.35 ns 58.36 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3123.27 ns 30.88 ns 30.92 ns 1.00
from array of 1 - create + as_blocking + subscribe + new_thread 29740.75 ns 27554.74 ns 28683.55 ns 0.96
from array of 1000 - create + as_blocking + subscribe + new_thread 35776.10 ns 32730.79 ns 37552.96 ns 0.87
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 3702.14 ns 148.58 ns 148.79 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1151.16 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 843.82 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1079.97 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 879.54 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1363.01 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 1011.03 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1184.09 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2,3)+element_at(1)+subscribe 866.16 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 278.46 ns 0.63 ns 0.63 ns 1.00
current_thread scheduler create worker + schedule 389.23 ns 4.03 ns 4.33 ns 0.93
current_thread scheduler create worker + schedule + recursive schedule 856.20 ns 62.61 ns 55.46 ns 1.13

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 842.84 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 977.66 ns 0.62 ns 0.62 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2241.74 ns 135.85 ns 139.19 ns 0.98
immediate_just+buffer(2)+subscribe 1515.63 ns 13.89 ns 14.22 ns 0.98
immediate_just+window(2)+subscribe + subscsribe inner 2526.32 ns 918.83 ns 912.57 ns 1.01

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1982.79 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 3249.62 ns 159.89 ns 159.54 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3754.56 ns 139.10 ns 139.39 ns 1.00
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 141.78 ns 140.79 ns 1.01
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3383.47 ns 378.00 ns 377.65 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 2207.38 ns 207.68 ns 207.50 ns 1.00
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 3225.96 ns 220.19 ns 220.65 ns 1.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 54.04 ns 17.25 ns 17.23 ns 1.00
subscribe 100 observers to publish_subject 208683.20 ns 16091.58 ns 16020.47 ns 1.00
100 on_next to 100 observers to publish_subject 35533.09 ns 23467.86 ns 20588.27 ns 1.14

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1299.13 ns 10.81 ns 10.80 ns 1.00
basic sample with immediate scheduler 1280.19 ns 6.17 ns 6.18 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1009.85 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 2185.09 ns 1156.23 ns 1205.94 ns 0.96
create(on_error())+retry(1)+subscribe 648.42 ns 138.51 ns 138.23 ns 1.00

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 564.07 ns 2.16 ns 2.16 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 585.22 ns 2.16 ns 2.16 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1155.67 ns 5.24 ns 5.24 ns 1.00
from array of 1 - create + subscribe + current_thread 1408.59 ns 15.46 ns 15.44 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 3708.82 ns 174.80 ns 173.89 ns 1.01
defer from array of 1 - defer + create + subscribe + immediate 1188.98 ns 5.24 ns 5.24 ns 1.00
interval - interval + take(3) + subscribe + immediate 3404.76 ns 139.83 ns 139.49 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3451.67 ns 60.21 ns 59.85 ns 1.01
from array of 1 - create + as_blocking + subscribe + new_thread 125162.50 ns 115290.00 ns 116188.89 ns 0.99
from array of 1000 - create + as_blocking + subscribe + new_thread 134062.50 ns 135300.00 ns 131055.56 ns 1.03
concat_as_source of just(1 immediate) and just(1,2 immediate)create + subscribe 5397.29 ns 202.00 ns 202.41 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1840.46 ns 19.44 ns 19.43 ns 1.00
immediate_just+filter(true)+subscribe 1657.47 ns 18.50 ns 18.50 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1710.99 ns 17.89 ns 17.89 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1362.24 ns 20.69 ns 20.67 ns 1.00
immediate_just(1,2)+first()+subscribe 2343.52 ns 18.20 ns 18.21 ns 1.00
immediate_just(1,2)+last()+subscribe 1742.11 ns 19.13 ns 23.60 ns 0.81
immediate_just+take_last(1)+subscribe 2036.02 ns 69.76 ns 68.53 ns 1.02
immediate_just(1,2,3)+element_at(1)+subscribe 1637.80 ns 20.98 ns 20.99 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 478.06 ns 4.32 ns 4.32 ns 1.00
current_thread scheduler create worker + schedule 653.05 ns 11.68 ns 12.02 ns 0.97
current_thread scheduler create worker + schedule + recursive schedule 1330.55 ns 95.64 ns 96.62 ns 0.99

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1342.35 ns 18.82 ns 18.81 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 1525.73 ns 20.97 ns 20.98 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 3846.49 ns 189.43 ns 192.88 ns 0.98
immediate_just+buffer(2)+subscribe 2348.27 ns 63.52 ns 63.03 ns 1.01
immediate_just+window(2)+subscribe + subscsribe inner 4034.12 ns 1321.18 ns 1290.11 ns 1.02

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1332.63 ns 17.58 ns 17.57 ns 1.00
immediate_just+take_while(true)+subscribe 1343.27 ns 18.50 ns 18.50 ns 1.00

Utility Operators

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

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5276.04 ns 204.81 ns 219.07 ns 0.93
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 5465.78 ns 187.40 ns 183.52 ns 1.02
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 194.18 ns 192.39 ns 1.01
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6124.55 ns 456.56 ns 470.79 ns 0.97
immediate_just(1) + zip(immediate_just(2)) + subscribe 3867.16 ns 524.38 ns 548.15 ns 0.96
immediate_just(immediate_just(1), immediate_just(1)) + concat() + subscribe 4925.48 ns 326.95 ns 337.87 ns 0.97

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 37.00 ns 20.76 ns 20.72 ns 1.00
subscribe 100 observers to publish_subject 260775.00 ns 27674.42 ns 28275.61 ns 0.98
100 on_next to 100 observers to publish_subject 51825.00 ns 36103.57 ns 35700.00 ns 1.01

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1893.19 ns 96.02 ns 96.84 ns 0.99
basic sample with immediate scheduler 1895.17 ns 68.06 ns 66.70 ns 1.02

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1492.72 ns 19.11 ns 19.13 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 1930.92 ns 361.03 ns 355.66 ns 1.02
create(on_error())+retry(1)+subscribe 1638.06 ns 138.06 ns 138.60 ns 1.00

Please sign in to comment.