Skip to content

Add auto-cleanup by default for make_child - #173

Merged
AlexInLog merged 2 commits into
mainfrom
composite_subscription_cleanup
Jul 15, 2022
Merged

Add auto-cleanup by default for make_child#173
AlexInLog merged 2 commits into
mainfrom
composite_subscription_cleanup

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@codecov

codecov Bot commented Jul 15, 2022

Copy link
Copy Markdown

Codecov Report

Merging #173 (4edf2d0) into main (a57e1cb) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #173   +/-   ##
=======================================
  Coverage   99.67%   99.67%           
=======================================
  Files          68       68           
  Lines         921      926    +5     
=======================================
+ Hits          918      923    +5     
  Misses          3        3           
Impacted Files Coverage Δ
...c/rpp/rpp/subscriptions/composite_subscription.hpp 100.00% <100.00%> (ø)

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 f22cc59...4edf2d0. Read the comment docs.

@github-actions

github-actions Bot commented Jul 15, 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.39ns 0.401923 0.97 0.33ns
Dynamic observable construction 28.10ns 31.5945 0.89 22.34ns
Specific observable construction + as_dynamic 25.00ns 31.6526 0.79 29.00ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 82.69ns 78.3275 1.06 344.70ns
Specific observable lift dynamic observer 113.64ns 106.254 1.07 330.57ns
Dynamic observable lift specific observer 174.22ns 160.018 1.09 394.14ns
Dynamic observable lift dynamic observer 180.79ns 177.106 1.02 332.00ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 45.02ns 48.6882 0.92 298.87ns
Specific observable subscribe dynamic observer 59.58ns 61.2654 0.97 246.74ns
Dynamic observable subscribe specific observer 114.30ns 111.857 1.02 370.44ns
Dynamic observable subscribe dynamic observer 114.64ns 114.579 1.00 412.89ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 40.83ns 50.2478 0.81 305.01ns
Dynamic observable subscribe lambda 111.16ns 111.392 1.00 393.33ns
Specific observable subscribe lambda without subscription 50.42ns 49.2785 1.02 332.45ns
Dynamic observable subscribe lambda without subscription 116.99ns 111.054 1.05 380.92ns
Specific observable subscribe specific subscriber 15.41ns 16.1003 0.96 260.11ns
Dynamic observable subscribe specific subscriber 75.69ns 77.7957 0.97 319.94ns
Specific observable subscribe dynamic observer 15.88ns 16.1226 0.99 278.90ns
Dynamic observable subscribe dynamic observer 73.88ns 68.1155 1.08 291.14ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.79ns 0.404369 1.95 0.39ns
Dynamic observer construction 33.82ns 32.0518 1.06 24.31ns
Specific observer construction + as_dynamic 30.22ns 31.6271 0.96 25.37ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.77ns 0.804276 0.96 0.70ns
Dynamic observer OnNext 1.90ns 1.60797 1.18 2.53ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 86.56ns 75.4362 1.15 258.48ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 27.02ns 32.71 0.83 64.63ns
Make copy of subscriber 18.27ns 18.897 0.97 4.98ns
Transform subsriber to dynamic 36.99ns 47.184 0.78 29.17ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 36.77ns 33.1679 1.11 58.22ns
composite_subscription add 53.20ns 46.9007 1.13 21.40ns
composite_subscription unsubscribe 7.22ns 8.0364 0.90 11.18ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 19.61ns 16.2048 1.21 39.95ns
error 46.35ns 48.2909 0.96 82.09ns
never 20.07ns 16.0846 1.25 248.35ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 30.43ns 25.4325 1.20 61.84ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 18.25ns 16.1036 1.13 42.63ns
just send variadic 19.89ns 18.9397 1.05 44.85ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 19.74ns 16.642 1.19 126.72ns
merge_with 91.38ns 76.1786 1.20 330.35ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.17ns 30.9776 0.94 11.02ns
on_error 2.84ns 2.03104 1.40 21.46ns
on_completed 1.68ns 1.67639 1.01 0.74ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 185.19ns 170.689 1.08 203.21ns
get_observable 23.76ns 33.7385 0.70 42.01ns
get_subscriber 69.75ns 67.6663 1.03 16.63ns

Linux GCC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.34ns 0.401373 0.83 0.33ns
Dynamic observable construction 18.73ns 17.3221 1.08 23.02ns
Specific observable construction + as_dynamic 18.77ns 17.2789 1.09 22.92ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 27.21ns 25.8245 1.05 346.61ns
Specific observable lift dynamic observer 31.91ns 27.3099 1.17 359.56ns
Dynamic observable lift specific observer 74.58ns 73.6209 1.01 401.67ns
Dynamic observable lift dynamic observer 69.04ns 69.9516 0.99 399.72ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 23.11ns 19.4288 1.19 334.43ns
Specific observable subscribe dynamic observer 24.37ns 20.8645 1.17 339.36ns
Dynamic observable subscribe specific observer 52.39ns 57.0255 0.92 387.76ns
Dynamic observable subscribe dynamic observer 38.99ns 36.3969 1.07 364.06ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 23.97ns 20.0963 1.19 332.50ns
Dynamic observable subscribe lambda 57.73ns 58.5825 0.99 400.46ns
Specific observable subscribe lambda without subscription 23.02ns 19.7936 1.16 333.75ns
Dynamic observable subscribe lambda without subscription 51.58ns 59.2435 0.87 406.87ns
Specific observable subscribe specific subscriber 3.67ns 6.01932 0.61 279.03ns
Dynamic observable subscribe specific subscriber 31.20ns 28.1156 1.11 345.78ns
Specific observable subscribe dynamic observer 3.68ns 6.02672 0.61 282.71ns
Dynamic observable subscribe dynamic observer 15.29ns 16.6972 0.92 303.49ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.34ns 0.426471 0.79 0.34ns
Dynamic observer construction 19.77ns 17.327 1.14 20.83ns
Specific observer construction + as_dynamic 19.32ns 17.4065 1.11 20.84ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.33ns 0.421342 0.79 0.34ns
Dynamic observer OnNext 1.67ns 2.00802 0.83 1.73ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 14.89ns 24.4436 0.61 354.97ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 21.41ns 40.0601 0.53 57.79ns
Make copy of subscriber 3.74ns 6.01173 0.62 4.49ns
Transform subsriber to dynamic 21.71ns 37.9884 0.57 29.05ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 20.75ns 18.5084 1.12 54.27ns
composite_subscription add 24.67ns 27.3351 0.90 17.31ns
composite_subscription unsubscribe 8.37ns 8.04386 1.04 10.03ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 3.47ns 5.92882 0.58 46.45ns
error 35.82ns 37.8198 0.95 82.33ns
never 3.57ns 5.96405 0.60 283.76ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 22.52ns 19.741 1.14 69.88ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 3.63ns 5.88647 0.62 50.87ns
just send variadic 4.08ns 6.01928 0.68 47.15ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 3.94ns 6.0612 0.65 147.58ns
merge_with 42.94ns 79.52 0.54 357.97ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 17.08ns 19.866 0.86 11.77ns
on_error 1.34ns 1.21003 1.11 16.83ns
on_completed 1.34ns 1.20559 1.11 1.34ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 121.42ns 122.4 0.99 171.58ns
get_observable 5.89ns 5.93207 0.99 45.86ns
get_subscriber 12.31ns 16.1679 0.76 22.41ns

Windows MSVC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 1.51ns 2.34544 0.64 0.67ns
Dynamic observable construction 81.62ns 162.802 0.50 123.41ns
Specific observable construction + as_dynamic 82.36ns 105.665 0.78 123.88ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 137.41ns 176.044 0.78 1222.76ns
Specific observable lift dynamic observer 167.89ns 196.849 0.85 1254.10ns
Dynamic observable lift specific observer 264.93ns 338.384 0.78 1405.95ns
Dynamic observable lift dynamic observer 221.18ns 284.594 0.78 1310.75ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 115.88ns 213.897 0.54 1185.09ns
Specific observable subscribe dynamic observer 128.81ns 156.259 0.82 1211.41ns
Dynamic observable subscribe specific observer 219.05ns 393.266 0.56 1397.37ns
Dynamic observable subscribe dynamic observer 162.03ns 196.43 0.82 1257.29ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 104.71ns 126.321 0.83 1302.09ns
Dynamic observable subscribe lambda 216.44ns 263.561 0.82 1343.00ns
Specific observable subscribe lambda without subscription 105.22ns 127.681 0.82 1174.41ns
Dynamic observable subscribe lambda without subscription 216.62ns 337.822 0.64 1344.89ns
Specific observable subscribe specific subscriber 16.77ns 20.4786 0.82 840.20ns
Dynamic observable subscribe specific subscriber 131.55ns 165.06 0.80 1025.72ns
Specific observable subscribe dynamic observer 16.75ns 23.0721 0.73 888.52ns
Dynamic observable subscribe dynamic observer 66.34ns 140.976 0.47 915.29ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.67ns 0.775632 0.87 1.51ns
Dynamic observer construction 81.67ns 105.064 0.78 116.81ns
Specific observer construction + as_dynamic 81.58ns 181.173 0.45 115.27ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.67ns 1.19658 0.56 0.67ns
Dynamic observer OnNext 2.01ns 2.21442 0.91 2.01ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 79.40ns 97.3567 0.82 997.23ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 88.97ns 164.976 0.54 352.67ns
Make copy of subscriber 16.81ns 24.0719 0.70 31.49ns
Transform subsriber to dynamic 96.48ns 140.475 0.69 154.72ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 86.49ns 109.606 0.79 346.19ns
composite_subscription add 64.34ns 85.0102 0.76 63.75ns
composite_subscription unsubscribe 8.39ns 7.55402 1.11 23.19ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 16.79ns 21.3042 0.79 190.94ns
error 46.97ns 69.5415 0.68 206.99ns
never 16.78ns 20.0479 0.84 843.13ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 84.09ns 109.817 0.77 262.64ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 19.87ns 24.2185 0.82 192.17ns
just send variadic 20.57ns 29.528 0.70 193.41ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 35.91ns 39.5078 0.91 676.26ns
merge_with 300.28ns 399.608 0.75 1418.85ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 20.27ns 26.1143 0.78 32.89ns
on_error 2.37ns 2.81356 0.84 17.48ns
on_completed 2.39ns 2.40656 0.99 1.36ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 289.78ns 359.123 0.81 586.61ns
get_observable 25.89ns 32.9396 0.79 158.38ns
get_subscriber 50.46ns 66.2097 0.76 92.59ns

Comment thread src/rpp/rpp/subscriptions/composite_subscription.hpp
@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 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@AlexInLog
AlexInLog merged commit 90921f3 into main Jul 15, 2022
@AlexInLog
AlexInLog deleted the composite_subscription_cleanup branch July 15, 2022 21:20
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.

2 participants