Skip to content

Fix binary bloat#151

Merged
AlexInLog merged 26 commits into
mainfrom
fix_binary_bloat
Jun 14, 2022
Merged

Fix binary bloat#151
AlexInLog merged 26 commits into
mainfrom
fix_binary_bloat

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ clang-tidy found issue(s) with the introduced code (1/1)

Comment thread src/rpp/rpp/observers/state_observer.hpp Outdated
Comment thread src/rpp/rpp/observers/state_observer.hpp Outdated
Comment thread src/rpp/rpp/observables/specific_observable.hpp
Comment thread src/rpp/rpp/observables/specific_observable.hpp
Comment thread src/rpp/rpp/sources/from.hpp Outdated
@codecov

codecov Bot commented Jun 14, 2022

Copy link
Copy Markdown

Codecov Report

Merging #151 (72044f0) into main (bb187cc) will increase coverage by 0.00%.
The diff coverage is 99.15%.

@@           Coverage Diff           @@
##             main     #151   +/-   ##
=======================================
  Coverage   99.64%   99.64%           
=======================================
  Files          60       60           
  Lines         847      853    +6     
=======================================
+ Hits          844      850    +6     
  Misses          3        3           
Impacted Files Coverage Δ
src/rpp/rpp/observers/dynamic_observer.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/fwd/switch_on_next.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/ref_count.hpp 95.00% <92.30%> (ø)
src/rpp/rpp/observables/specific_observable.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/observers/state_observer.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/details/combining_utils.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/filter.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/fwd/filter.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/fwd/map.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/fwd/merge.hpp 100.00% <100.00%> (ø)
... and 16 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bb187cc...72044f0. Read the comment docs.

@github-actions

github-actions Bot commented Jun 14, 2022

Copy link
Copy Markdown
Contributor

Linux CLANG

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.67ns 0.670049 1.00 0.34ns
Dynamic observable construction 28.82ns 28.8096 1.00 25.37ns
Specific observable construction + as_dynamic 28.77ns 28.8372 1.00 24.57ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 70.54ns 83.0291 0.85 291.10ns
Specific observable lift dynamic observer 96.68ns 109.049 0.89 309.85ns
Dynamic observable lift specific observer 159.54ns 171.042 0.93 336.06ns
Dynamic observable lift dynamic observer 168.05ns 178.404 0.94 329.09ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 44.47ns 58.6536 0.76 288.85ns
Specific observable subscribe dynamic observer 58.68ns 71.2029 0.82 298.01ns
Dynamic observable subscribe specific observer 112.48ns 123.056 0.91 342.40ns
Dynamic observable subscribe dynamic observer 109.50ns 121.838 0.90 317.58ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 44.52ns 58.8558 0.76 288.10ns
Dynamic observable subscribe lambda 110.14ns 122.018 0.90 328.74ns
Specific observable subscribe lambda without subscription 44.55ns 58.9352 0.76 286.55ns
Dynamic observable subscribe lambda without subscription 110.15ns 122.051 0.90 329.55ns
Specific observable subscribe specific subscriber 16.75ns 16.7134 1.00 230.67ns
Dynamic observable subscribe specific subscriber 77.93ns 77.9721 1.00 269.38ns
Specific observable subscribe dynamic observer 17.41ns 16.7429 1.04 241.48ns
Dynamic observable subscribe dynamic observer 63.94ns 63.2226 1.01 260.06ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.67ns 0.66984 1.00 0.33ns
Dynamic observer construction 28.44ns 28.462 1.00 21.38ns
Specific observer construction + as_dynamic 28.46ns 28.5013 1.00 21.24ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.670575 1.00 0.67ns
Dynamic observer OnNext 2.02ns 2.00836 1.00 2.68ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 70.89ns 86.2069 0.82 239.24ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 32.49ns 44.5134 0.73 64.31ns
Make copy of subscriber 16.74ns 16.7405 1.00 4.70ns
Transform subsriber to dynamic 46.39ns 45.8615 1.01 26.92ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 32.42ns 32.4243 1.00 53.62ns
composite_subscription add 47.17ns 61.2964 0.77 20.56ns
composite_subscription unsubscribe 6.03ns 6.02977 1.00 9.70ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 18.08ns 18.1051 1.00 37.06ns
error 48.24ns 48.2699 1.00 77.83ns
never 16.71ns 16.7275 1.00 233.42ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 30.23ns 30.1549 1.00 57.30ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 17.43ns 17.4342 1.00 36.36ns
just send variadic 19.78ns 19.4753 1.02 42.53ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 234.12ns 313.138 0.75 123.66ns
merge_with 297.97ns 383.842 0.78 292.65ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 38.17ns 38.1549 1.00 9.84ns
on_error 2.03ns 1.68462 1.20 19.16ns
on_completed 2.69ns 2.07746 1.30 0.67ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 159.77ns 183.358 0.87 178.92ns
get_observable 29.44ns 40.7636 0.72 51.50ns
get_subscriber 66.21ns 66.5676 0.99 14.31ns

Linux GCC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.33ns 0.426706 0.78 0.33ns
Dynamic observable construction 19.10ns 17.7107 1.08 23.43ns
Specific observable construction + as_dynamic 19.33ns 17.2907 1.12 22.41ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 27.00ns 32.0281 0.84 343.26ns
Specific observable lift dynamic observer 33.83ns 36.9005 0.92 358.95ns
Dynamic observable lift specific observer 62.89ns 65.9159 0.95 399.38ns
Dynamic observable lift dynamic observer 56.53ns 63.7769 0.89 377.72ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 24.12ns 23.6868 1.02 333.86ns
Specific observable subscribe dynamic observer 25.07ns 25.9126 0.97 354.16ns
Dynamic observable subscribe specific observer 55.30ns 56.7238 0.97 399.42ns
Dynamic observable subscribe dynamic observer 41.44ns 50.7863 0.82 361.40ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 23.80ns 23.7834 1.00 332.48ns
Dynamic observable subscribe lambda 54.64ns 57.6285 0.95 404.84ns
Specific observable subscribe lambda without subscription 23.06ns 26.2613 0.88 332.18ns
Dynamic observable subscribe lambda without subscription 54.51ns 59.5016 0.92 393.47ns
Specific observable subscribe specific subscriber 3.64ns 6.02284 0.60 278.49ns
Dynamic observable subscribe specific subscriber 30.15ns 27.5298 1.10 327.98ns
Specific observable subscribe dynamic observer 3.62ns 6.01772 0.60 287.02ns
Dynamic observable subscribe dynamic observer 15.39ns 16.8559 0.91 308.55ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.33ns 0.426744 0.78 0.34ns
Dynamic observer construction 19.06ns 17.3671 1.10 20.73ns
Specific observer construction + as_dynamic 18.94ns 17.3675 1.09 20.78ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.34ns 0.43052 0.78 0.34ns
Dynamic observer OnNext 1.68ns 1.60469 1.04 2.01ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 15.01ns 28.6846 0.52 350.00ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 21.60ns 32.033 0.67 60.41ns
Make copy of subscriber 3.71ns 6.01262 0.62 4.48ns
Transform subsriber to dynamic 22.77ns 20.4632 1.11 28.97ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 20.88ns 19.2825 1.08 56.43ns
composite_subscription add 22.94ns 30.5849 0.75 17.45ns
composite_subscription unsubscribe 8.30ns 8.04744 1.03 10.04ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 3.60ns 6.01837 0.60 46.72ns
error 33.83ns 41.3212 0.82 82.23ns
never 3.57ns 5.96791 0.60 281.91ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 26.15ns 25.1562 1.04 66.29ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 4.11ns 5.98933 0.69 50.79ns
just send variadic 4.38ns 5.13193 0.85 46.77ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 155.68ns 151.604 1.03 143.01ns
merge_with 185.80ns 195.796 0.95 348.70ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 8.03ns 8.98615 0.89 11.02ns
on_error 1.34ns 2.57927 0.52 16.86ns
on_completed 1.34ns 2.25854 0.60 1.01ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 120.41ns 108.312 1.11 170.78ns
get_observable 6.02ns 12.0873 0.50 45.22ns
get_subscriber 14.10ns 16.9226 0.83 22.32ns

Windows MSVC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.67ns 0.739749 0.91 0.67ns
Dynamic observable construction 82.94ns 127.344 0.65 124.07ns
Specific observable construction + as_dynamic 82.69ns 104.311 0.79 124.00ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 145.30ns 161.704 0.90 1215.91ns
Specific observable lift dynamic observer 167.77ns 172.143 0.97 1255.90ns
Dynamic observable lift specific observer 271.43ns 300.899 0.90 1453.79ns
Dynamic observable lift dynamic observer 229.37ns 251.32 0.91 1292.05ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 126.15ns 142.527 0.89 1176.14ns
Specific observable subscribe dynamic observer 131.19ns 123.583 1.06 1208.10ns
Dynamic observable subscribe specific observer 220.16ns 198.287 1.11 1344.05ns
Dynamic observable subscribe dynamic observer 171.38ns 193.145 0.89 1235.81ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 91.96ns 163.873 0.56 1174.82ns
Dynamic observable subscribe lambda 221.97ns 281.854 0.79 1355.16ns
Specific observable subscribe lambda without subscription 104.62ns 140.714 0.74 1162.82ns
Dynamic observable subscribe lambda without subscription 222.08ns 255.455 0.87 1359.11ns
Specific observable subscribe specific subscriber 16.77ns 19.2625 0.87 843.10ns
Dynamic observable subscribe specific subscriber 117.49ns 137.631 0.85 1023.28ns
Specific observable subscribe dynamic observer 16.78ns 17.2229 0.97 880.35ns
Dynamic observable subscribe dynamic observer 67.07ns 74.125 0.90 912.36ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.67ns 0.690767 0.97 1.51ns
Dynamic observer construction 81.71ns 83.7821 0.98 115.67ns
Specific observer construction + as_dynamic 81.59ns 92.5376 0.88 115.27ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 0.631462 1.06 0.67ns
Dynamic observer OnNext 2.01ns 2.33657 0.86 2.01ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 74.29ns 91.6379 0.81 993.19ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 87.82ns 110.884 0.79 349.93ns
Make copy of subscriber 16.75ns 14.2684 1.17 31.17ns
Transform subsriber to dynamic 96.40ns 80.2578 1.20 153.83ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 88.32ns 82.9472 1.06 343.27ns
composite_subscription add 63.62ns 88.4211 0.72 63.61ns
composite_subscription unsubscribe 8.37ns 6.64394 1.26 23.26ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 18.65ns 22.3657 0.83 191.10ns
error 50.84ns 56.811 0.89 207.00ns
never 16.75ns 21.912 0.76 844.52ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 86.25ns 98.6318 0.87 264.37ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 23.26ns 21.5075 1.08 191.68ns
just send variadic 24.88ns 26.2141 0.95 194.74ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 453.88ns 600.714 0.76 680.78ns
merge_with 667.39ns 743.235 0.90 1428.46ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 42.32ns 43.133 0.98 32.65ns
on_error 3.30ns 2.07357 1.59 17.41ns
on_completed 2.38ns 3.02454 0.79 1.36ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 289.83ns 471.787 0.61 589.33ns
get_observable 25.86ns 41.7127 0.62 158.02ns
get_subscriber 57.97ns 77.5959 0.75 114.11ns

@sonarqubecloud

Copy link
Copy Markdown

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 3 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@AlexInLog
AlexInLog merged commit 2e20885 into main Jun 14, 2022
@AlexInLog
AlexInLog deleted the fix_binary_bloat branch June 14, 2022 18:37
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