Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable unity builds #388

Closed
wants to merge 2 commits into from
Closed

Enable unity builds #388

wants to merge 2 commits into from

Conversation

victimsnino
Copy link
Owner

No description provided.

@github-actions
Copy link
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 716.12 ns 0.80 ns 0.80 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 708.26 ns 0.80 ns 0.80 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1867.87 ns 0.40 ns 0.40 ns 1.00
from array of 1 - create + subscribe + current_thread 2740.70 ns 4.41 ns 4.41 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 5792.99 ns 0.40 ns 0.41 ns 0.99

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 759.33 ns 0.40 ns 0.41 ns 0.99
current_thread scheduler create worker + schedule 921.71 ns 4.41 ns 4.41 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 2089.35 ns 77.58 ns 77.70 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
create(create(1), create(1)) + merge() + subscribe 4317.65 ns 211.98 ns 211.15 ns 1.00
create(1) + merge_with(create(2)) + subscribe 6915.03 ns 214.93 ns 214.87 ns 1.00

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 908.80 ns - - 0.00
create+take_while(true)+subscribe 865.48 ns 0.40 ns 0.40 ns 1.00

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 866.97 ns 0.40 ns 0.40 ns 1.00
create+scan(10, std::plus)+subscribe 1022.51 ns 0.40 ns 0.40 ns 1.00
create+flat_map(just(v*2))+subscribe 3184.00 ns 164.86 ns 169.12 ns 0.97

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 1437.00 ns 0.40 ns 0.40 ns 1.00
create+filter(true)+subscribe 869.31 ns 0.40 ns 0.40 ns 1.00
create(1,2)+first()+subscribe 1778.15 ns 0.40 ns 0.40 ns 1.00
create(1,2)+last()+subscribe 1102.37 ns 0.40 ns 0.40 ns 1.00
create(1,2)+skip(1)+subscribe 1225.92 ns 0.40 ns 0.40 ns 1.00
create(1,1,2)+distinct_until_changed()+subscribe 869.14 ns 0.40 ns 0.40 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
create(1)+subscribe_on(immediate)+subscribe 3127.07 ns 0.40 ns 0.40 ns 1.00

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1093.49 ns 0.56 ns 0.56 ns 1.00
Subscribe empty callbacks to empty observable via pipe operator 1075.00 ns 0.56 ns 0.56 ns 1.00

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 2304.81 ns 0.44 ns 0.44 ns 0.99
from array of 1 - create + subscribe + current_thread 2991.42 ns 8.09 ns 8.08 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 6877.68 ns 0.28 ns 0.28 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 998.34 ns 0.56 ns 0.56 ns 1.00
current_thread scheduler create worker + schedule 1311.89 ns 8.35 ns 8.34 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 2340.98 ns 152.57 ns 152.34 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
create(create(1), create(1)) + merge() + subscribe 4020.35 ns 366.59 ns 366.37 ns 1.00
create(1) + merge_with(create(2)) + subscribe 6821.41 ns 369.24 ns 376.75 ns 0.98

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 1195.32 ns 3.34 ns 3.34 ns 1.00
create+take_while(true)+subscribe 1164.96 ns 3.36 ns 3.34 ns 1.01

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 1134.09 ns 3.61 ns 3.61 ns 1.00
create+scan(10, std::plus)+subscribe 1457.97 ns 5.57 ns 5.57 ns 1.00
create+flat_map(just(v*2))+subscribe 3269.16 ns 332.97 ns 332.38 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 2018.76 ns 4.72 ns 4.75 ns 0.99
create+filter(true)+subscribe 1131.85 ns 3.06 ns 3.06 ns 1.00
create(1,2)+first()+subscribe 2351.24 ns 6.16 ns 6.30 ns 0.98
create(1,2)+last()+subscribe 1450.32 ns 9.17 ns 9.27 ns 0.99
create(1,2)+skip(1)+subscribe 1834.73 ns 6.13 ns 6.12 ns 1.00
create(1,1,2)+distinct_until_changed()+subscribe 1186.60 ns 9.18 ns 9.19 ns 1.00

Utility Operators

name rxcpp rpp prev rpp ratio
create(1)+subscribe_on(immediate)+subscribe 4063.79 ns 0.28 ns 0.29 ns 0.97

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 337.67 ns 0.67 ns 0.60 ns 1.11
Subscribe empty callbacks to empty observable via pipe operator 334.02 ns 1.00 ns 0.80 ns 1.25

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 726.51 ns 0.37 ns 0.41 ns 0.91
from array of 1 - create + subscribe + current_thread 1020.04 ns 4.42 ns 4.34 ns 1.02
concat_as_source of just(1 immediate) create + subscribe 2282.02 ns 0.33 ns 0.40 ns 0.83

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 270.77 ns 0.67 ns 0.80 ns 0.83
current_thread scheduler create worker + schedule 392.24 ns 4.09 ns 4.03 ns 1.01
current_thread scheduler create worker + schedule + recursive schedule 798.95 ns 65.62 ns 65.15 ns 1.01

Combining Operators

name rxcpp rpp prev rpp ratio
create(create(1), create(1)) + merge() + subscribe 2160.32 ns 117.91 ns 105.24 ns 1.12
create(1) + merge_with(create(2)) + subscribe 3371.98 ns 112.99 ns 101.22 ns 1.12

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 388.31 ns - - 0.00
create+take_while(true)+subscribe 365.45 ns 0.33 ns 0.40 ns 0.83

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 377.30 ns 0.33 ns 0.40 ns 0.83
create+scan(10, std::plus)+subscribe 440.19 ns 0.67 ns 0.40 ns 1.67
create+flat_map(just(v*2))+subscribe 1666.03 ns 93.05 ns 86.66 ns 1.07

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 638.92 ns 0.34 ns 0.40 ns 0.84
create+filter(true)+subscribe 366.33 ns 0.33 ns 0.40 ns 0.83
create(1,2)+first()+subscribe 751.95 ns 0.33 ns 0.40 ns 0.83
create(1,2)+last()+subscribe 480.22 ns 0.34 ns 0.40 ns 0.84
create(1,2)+skip(1)+subscribe 574.17 ns 0.33 ns 0.40 ns 0.83
create(1,1,2)+distinct_until_changed()+subscribe 382.31 ns 0.67 ns 0.40 ns 1.67

Utility Operators

name rxcpp rpp prev rpp ratio
create(1)+subscribe_on(immediate)+subscribe 1795.67 ns 0.33 ns 0.40 ns 0.83

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1170.61 ns 2.01 ns 2.12 ns 0.95
Subscribe empty callbacks to empty observable via pipe operator 1832.21 ns 2.01 ns 2.17 ns 0.93

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 3989.38 ns 8.86 ns 10.82 ns 0.82
from array of 1 - create + subscribe + current_thread 4817.84 ns 24.14 ns 30.24 ns 0.80
concat_as_source of just(1 immediate) create + subscribe 9485.86 ns 12.72 ns 15.39 ns 0.83

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 1143.92 ns 4.35 ns 6.08 ns 0.71
current_thread scheduler create worker + schedule 2041.68 ns 11.66 ns 13.78 ns 0.85
current_thread scheduler create worker + schedule + recursive schedule 3113.19 ns 141.10 ns 157.62 ns 0.90

Combining Operators

name rxcpp rpp prev rpp ratio
create(create(1), create(1)) + merge() + subscribe 4960.51 ns 367.86 ns 435.12 ns 0.85
create(1) + merge_with(create(2)) + subscribe 8481.31 ns 361.79 ns 397.29 ns 0.91

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 1495.41 ns 6.36 ns 5.79 ns 1.10
create+take_while(true)+subscribe 1369.57 ns 5.92 ns 7.03 ns 0.84

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 1366.67 ns 6.59 ns 7.32 ns 0.90
create+scan(10, std::plus)+subscribe 1575.85 ns 8.77 ns 12.02 ns 0.73
create+flat_map(just(v*2))+subscribe 3936.32 ns 304.45 ns 384.06 ns 0.79

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 2451.75 ns 8.71 ns 10.65 ns 0.82
create+filter(true)+subscribe 1365.20 ns 6.08 ns 8.18 ns 0.74
create(1,2)+first()+subscribe 2904.94 ns 11.76 ns 14.11 ns 0.83
create(1,2)+last()+subscribe 1768.92 ns 14.06 ns 17.63 ns 0.80
create(1,2)+skip(1)+subscribe 2060.32 ns 8.49 ns 10.08 ns 0.84
create(1,1,2)+distinct_until_changed()+subscribe 1386.83 ns 14.09 ns 19.11 ns 0.74

Utility Operators

name rxcpp rpp prev rpp ratio
create(1)+subscribe_on(immediate)+subscribe 4940.25 ns 11.03 ns 15.38 ns 0.72

@victimsnino victimsnino deleted the unity_builds branch July 21, 2023 11:18
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.

1 participant