Skip to content

Add corner case test for switch_on_next - #176

Merged
AlexInLog merged 1 commit into
mainfrom
switch_on_next_new_test
Jul 15, 2022
Merged

Add corner case test for switch_on_next#176
AlexInLog merged 1 commit into
mainfrom
switch_on_next_new_test

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@codecov

codecov Bot commented Jul 15, 2022

Copy link
Copy Markdown

Codecov Report

Merging #176 (2acf097) into main (a57e1cb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #176   +/-   ##
=======================================
  Coverage   99.67%   99.67%           
=======================================
  Files          68       68           
  Lines         921      921           
=======================================
  Hits          918      918           
  Misses          3        3           

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...2acf097. Read the comment docs.

@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

@github-actions

Copy link
Copy Markdown
Contributor

Linux CLANG

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.41ns 0.402038 1.01 0.40ns
Dynamic observable construction 34.24ns 31.4382 1.09 30.39ns
Specific observable construction + as_dynamic 34.46ns 31.4539 1.10 30.09ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 85.19ns 78.1305 1.09 350.04ns
Specific observable lift dynamic observer 114.01ns 105.815 1.08 368.85ns
Dynamic observable lift specific observer 186.46ns 161.527 1.15 409.12ns
Dynamic observable lift dynamic observer 196.88ns 182.702 1.08 389.84ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 52.63ns 49.1444 1.07 366.60ns
Specific observable subscribe dynamic observer 71.25ns 61.2972 1.16 357.04ns
Dynamic observable subscribe specific observer 134.44ns 112.691 1.19 399.78ns
Dynamic observable subscribe dynamic observer 130.42ns 114.341 1.14 389.54ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 53.64ns 50.3809 1.06 354.69ns
Dynamic observable subscribe lambda 132.80ns 111.509 1.19 396.82ns
Specific observable subscribe lambda without subscription 53.67ns 49.2304 1.09 355.59ns
Dynamic observable subscribe lambda without subscription 133.36ns 111.19 1.20 397.30ns
Specific observable subscribe specific subscriber 20.16ns 16.0782 1.25 281.13ns
Dynamic observable subscribe specific subscriber 93.65ns 77.7714 1.20 328.04ns
Specific observable subscribe dynamic observer 20.19ns 16.0894 1.25 292.63ns
Dynamic observable subscribe dynamic observer 76.39ns 67.8936 1.13 311.76ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.81ns 0.401681 2.01 0.40ns
Dynamic observer construction 34.26ns 31.4392 1.09 25.94ns
Specific observer construction + as_dynamic 34.59ns 31.3292 1.10 26.07ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.81ns 0.803336 1.00 0.81ns
Dynamic observer OnNext 2.01ns 1.6046 1.26 2.82ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 85.78ns 75.5825 1.13 298.26ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 39.20ns 32.5905 1.20 79.72ns
Make copy of subscriber 20.20ns 18.8948 1.07 5.68ns
Transform subsriber to dynamic 52.69ns 47.262 1.11 31.78ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 39.07ns 33.5782 1.16 62.90ns
composite_subscription add 56.83ns 46.8016 1.21 24.96ns
composite_subscription unsubscribe 7.25ns 8.04694 0.90 11.77ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 20.25ns 16.0674 1.26 42.44ns
error 59.33ns 48.3398 1.23 93.77ns
never 20.13ns 16.0837 1.25 285.45ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 32.28ns 24.9962 1.29 71.08ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 20.19ns 16.1237 1.25 44.20ns
just send variadic 20.18ns 18.9377 1.07 51.10ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 20.69ns 16.5803 1.25 150.36ns
merge_with 92.42ns 76.0841 1.21 353.79ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 29.46ns 31.1572 0.95 12.27ns
on_error 2.93ns 2.01786 1.45 23.08ns
on_completed 2.10ns 1.66648 1.26 0.83ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 210.80ns 170.884 1.23 217.97ns
get_observable 31.72ns 33.706 0.94 60.80ns
get_subscriber 71.75ns 67.5445 1.06 16.94ns

Linux GCC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 0.40ns 0.335491 1.20 0.40ns
Dynamic observable construction 24.07ns 19.9007 1.21 28.27ns
Specific observable construction + as_dynamic 22.16ns 18.6629 1.19 27.69ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 31.82ns 26.98 1.18 431.86ns
Specific observable lift dynamic observer 36.89ns 30.8454 1.20 449.12ns
Dynamic observable lift specific observer 89.86ns 74.4443 1.21 498.81ns
Dynamic observable lift dynamic observer 81.58ns 68.6907 1.19 474.46ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 26.56ns 22.7495 1.17 424.15ns
Specific observable subscribe dynamic observer 28.11ns 23.6342 1.19 425.52ns
Dynamic observable subscribe specific observer 68.94ns 57.3317 1.20 481.56ns
Dynamic observable subscribe dynamic observer 49.60ns 39.6735 1.25 457.32ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 26.61ns 22.219 1.20 400.84ns
Dynamic observable subscribe lambda 70.25ns 58.001 1.21 510.03ns
Specific observable subscribe lambda without subscription 26.49ns 21.8471 1.21 401.62ns
Dynamic observable subscribe lambda without subscription 69.32ns 57.1499 1.21 489.59ns
Specific observable subscribe specific subscriber 4.50ns 3.75365 1.20 337.34ns
Dynamic observable subscribe specific subscriber 36.26ns 30.3069 1.20 391.56ns
Specific observable subscribe dynamic observer 4.59ns 3.72869 1.23 357.00ns
Dynamic observable subscribe dynamic observer 18.58ns 15.434 1.20 384.37ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.40ns 0.334565 1.20 0.40ns
Dynamic observer construction 23.40ns 19.7859 1.18 24.94ns
Specific observer construction + as_dynamic 23.18ns 19.1068 1.21 25.24ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.40ns 0.335061 1.20 0.40ns
Dynamic observer OnNext 2.41ns 2.0102 1.20 2.09ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 17.83ns 14.8348 1.20 417.43ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 26.36ns 21.9271 1.20 69.41ns
Make copy of subscriber 4.47ns 3.72615 1.20 5.41ns
Transform subsriber to dynamic 26.94ns 22.4686 1.20 35.08ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 25.27ns 21.1165 1.20 65.17ns
composite_subscription add 26.03ns 22.0821 1.18 20.81ns
composite_subscription unsubscribe 8.24ns 6.91867 1.19 12.04ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 4.18ns 3.49151 1.20 56.32ns
error 43.01ns 35.8393 1.20 99.10ns
never 4.29ns 3.57941 1.20 340.20ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 26.94ns 22.5186 1.20 83.89ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 4.37ns 3.62977 1.20 61.27ns
just send variadic 4.92ns 4.12089 1.19 56.51ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 4.76ns 3.88915 1.22 176.70ns
merge_with 53.30ns 44.3539 1.20 430.90ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 20.47ns 17.0675 1.20 14.04ns
on_error 1.21ns 1.01155 1.20 20.21ns
on_completed 1.61ns 1.34241 1.20 1.62ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 144.56ns 121.722 1.19 204.56ns
get_observable 5.76ns 4.81853 1.20 55.24ns
get_subscriber 14.94ns 12.4267 1.20 26.85ns

Windows MSVC

Observable construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable construction 2.08ns 1.50816 1.38 0.77ns
Dynamic observable construction 97.15ns 81.7138 1.19 150.38ns
Specific observable construction + as_dynamic 98.61ns 82.0129 1.20 185.15ns

Observable lift

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable lift specific observer 161.39ns 139.659 1.16 1442.89ns
Specific observable lift dynamic observer 233.54ns 169.046 1.38 1382.74ns
Dynamic observable lift specific observer 315.25ns 266.505 1.18 1712.18ns
Dynamic observable lift dynamic observer 323.45ns 287.325 1.13 1562.05ns

Observable subscribe

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe specific observer 103.60ns 106.571 0.97 1346.24ns
Specific observable subscribe dynamic observer 147.81ns 119.728 1.23 1669.33ns
Dynamic observable subscribe specific observer 270.50ns 219.983 1.23 1708.44ns
Dynamic observable subscribe dynamic observer 206.16ns 165.458 1.25 1579.35ns

Observable subscribe #2

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observable subscribe lambda 156.47ns 106.435 1.47 1462.56ns
Dynamic observable subscribe lambda 417.71ns 219.829 1.90 1771.47ns
Specific observable subscribe lambda without subscription 132.80ns 107.013 1.24 1425.05ns
Dynamic observable subscribe lambda without subscription 265.41ns 221.5 1.20 1665.94ns
Specific observable subscribe specific subscriber 21.15ns 17.0904 1.24 1054.93ns
Dynamic observable subscribe specific subscriber 148.47ns 133.451 1.11 1367.87ns
Specific observable subscribe dynamic observer 22.42ns 16.7434 1.34 1460.93ns
Dynamic observable subscribe dynamic observer 100.83ns 62.8333 1.60 1128.31ns

Observer construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer construction 0.76ns 0.675451 1.13 1.97ns
Dynamic observer construction 174.65ns 81.3987 2.15 146.47ns
Specific observer construction + as_dynamic 102.05ns 81.9153 1.25 140.93ns

OnNext

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Specific observer OnNext 0.80ns 0.67222 1.19 0.92ns
Dynamic observer OnNext 2.63ns 2.01086 1.31 2.69ns

Operators

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
map construction from observable via dot + subscribe 206.79ns 77.5727 2.67 1182.23ns

Subscriber construction

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
Make subsriber 106.57ns 88.9825 1.20 424.00ns
Make copy of subscriber 21.53ns 16.7728 1.28 36.49ns
Transform subsriber to dynamic 126.28ns 96.8511 1.30 187.10ns

Subscription

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
composite_subscription create 107.28ns 88.2797 1.22 456.34ns
composite_subscription add 132.81ns 62.6774 2.12 86.88ns
composite_subscription unsubscribe 8.91ns 8.2859 1.08 28.49ns

foundamental sources

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
empty 19.89ns 16.7985 1.18 226.59ns
error 57.97ns 47.1109 1.23 298.73ns
never 24.28ns 16.7605 1.45 1080.66ns

from

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
from vector with int 142.13ns 84.3907 1.68 337.19ns

just

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
just send int 28.91ns 20.1591 1.43 235.70ns
just send variadic 25.18ns 20.6391 1.22 252.40ns

merge

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
merge 38.21ns 37.3018 1.02 805.90ns
merge_with 373.23ns 286.906 1.30 1938.24ns

publish_subject callbacks

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
on_next 28.93ns 20.226 1.43 37.03ns
on_error 3.13ns 3.13575 1.00 22.47ns
on_completed 3.22ns 2.37778 1.35 0.81ns

publish_subject routines

Table
Test Name Current, ns Prev, ns Ratio RxCpp current, ns
construct 350.84ns 288.933 1.21 744.59ns
get_observable 31.90ns 28.2007 1.13 173.44ns
get_subscriber 65.17ns 50.4306 1.29 111.17ns

@AlexInLog
AlexInLog merged commit f8a0f7b into main Jul 15, 2022
@AlexInLog
AlexInLog deleted the switch_on_next_new_test branch July 15, 2022 21:05
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