Skip to content

Add linesfrombytes example#554

Merged
AlexInLog merged 15 commits into
v2from
add_linesfrombytes
Apr 5, 2024
Merged

Add linesfrombytes example#554
AlexInLog merged 15 commits into
v2from
add_linesfrombytes

Conversation

@AlexInLog

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

github-actions Bot commented Apr 5, 2024

Copy link
Copy Markdown
Contributor

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

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

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 739.47 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 1039.44 ns 5.25 ns 5.25 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 2242.63 ns 137.44 ns 133.55 ns 1.03
defer from array of 1 - defer + create + subscribe + immediate 753.62 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 2134.40 ns 59.23 ns 59.23 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3063.03 ns 32.74 ns 32.74 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1093.92 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 865.21 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 1014.80 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 890.50 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1224.19 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 912.02 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 1157.31 ns 18.53 ns 18.82 ns 0.98

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 267.24 ns 2.16 ns 2.18 ns 0.99
current_thread scheduler create worker + schedule 362.81 ns 7.10 ns 7.10 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 821.82 ns 64.41 ns 65.42 ns 0.98

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 828.99 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 910.93 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 2353.78 ns 166.88 ns 162.43 ns 1.03
immediate_just+buffer(2)+subscribe 1539.32 ns 14.20 ns 14.35 ns 0.99
immediate_just+window(2)+subscribe + subscsribe inner 2356.62 ns 1035.53 ns 1072.47 ns 0.97

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 2001.75 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 3437.01 ns 175.27 ns 173.05 ns 1.01
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3607.55 ns 185.26 ns 182.86 ns 1.01
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 139.85 ns 155.56 ns 0.90
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 3555.55 ns 1000.03 ns 999.80 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 2098.61 ns 218.84 ns 217.81 ns 1.00

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 34.45 ns 11.72 ns 11.72 ns 1.00

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1374.94 ns 14.51 ns 14.51 ns 1.00
basic sample with immediate scheduler 1358.64 ns 5.55 ns 5.55 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 947.49 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 1093.89 ns 137.75 ns 146.03 ns 0.94

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1091.99 ns 5.46 ns 3.85 ns 1.42
Subscribe empty callbacks to empty observable via pipe operator 1096.47 ns 5.47 ns 3.86 ns 1.42

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 2294.74 ns 0.46 ns 0.23 ns 1.95
from array of 1 - create + subscribe + current_thread 2961.36 ns 22.96 ns 25.46 ns 0.90
concat_as_source of just(1 immediate) create + subscribe 7286.95 ns 405.90 ns 330.92 ns 1.23
defer from array of 1 - defer + create + subscribe + immediate 7021.47 ns 0.49 ns 0.23 ns 2.11
interval - interval + take(3) + subscribe + immediate 9625.89 ns 204.24 ns 113.38 ns 1.80
interval - interval + take(3) + subscribe + current_thread 7743.79 ns 128.03 ns 108.93 ns 1.18

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 3616.68 ns 0.28 ns 0.23 ns 1.20
immediate_just+filter(true)+subscribe 2563.86 ns 0.28 ns 0.23 ns 1.20
immediate_just(1,2)+skip(1)+subscribe 4053.59 ns 0.29 ns 0.23 ns 1.24
immediate_just(1,1,2)+distinct_until_changed()+subscribe 2525.11 ns 0.57 ns 0.47 ns 1.21
immediate_just(1,2)+first()+subscribe 3997.21 ns 0.28 ns 0.23 ns 1.22
immediate_just(1,2)+last()+subscribe 2924.30 ns 0.28 ns 0.23 ns 1.21
immediate_just+take_last(1)+subscribe 3766.96 ns 75.57 ns 70.58 ns 1.07

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 1840.20 ns 5.82 ns 4.02 ns 1.45
current_thread scheduler create worker + schedule 1316.41 ns 41.98 ns 38.47 ns 1.09
current_thread scheduler create worker + schedule + recursive schedule 2299.53 ns 163.60 ns 218.61 ns 0.75

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 2484.79 ns 0.28 ns 0.23 ns 1.19
immediate_just+scan(10, std::plus)+subscribe 3154.09 ns 0.63 ns 0.47 ns 1.35
immediate_just+flat_map(immediate_just(v*2))+subscribe 7397.55 ns 554.01 ns 415.55 ns 1.33
immediate_just+buffer(2)+subscribe 3151.07 ns 79.04 ns 69.75 ns 1.13
immediate_just+window(2)+subscribe + subscsribe inner 6648.77 ns 2741.47 ns 2293.98 ns 1.20

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 2495.98 ns - - 0.00
immediate_just+take_while(true)+subscribe 2492.79 ns 0.28 ns 0.23 ns 1.19

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 6180.26 ns 0.29 ns 0.23 ns 1.23

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 9195.20 ns 514.16 ns 451.67 ns 1.14
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 10164.19 ns 550.84 ns 446.33 ns 1.23
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 524.25 ns 474.06 ns 1.11
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 10034.75 ns 2347.34 ns 1906.36 ns 1.23
immediate_just(1) + zip(immediate_just(2)) + subscribe 6325.84 ns 983.20 ns 856.90 ns 1.15

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 99.77 ns 65.94 ns 49.63 ns 1.33

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 3468.61 ns 60.14 ns 111.89 ns 0.54
basic sample with immediate scheduler 3521.41 ns 5.95 ns 15.21 ns 0.39

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 2977.58 ns 0.28 ns 0.23 ns 1.21

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 8172.84 ns 4967.57 ns 4071.65 ns 1.22

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 285.29 ns 1.57 ns 1.54 ns 1.02
Subscribe empty callbacks to empty observable via pipe operator 283.12 ns 1.56 ns 1.54 ns 1.01

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 566.71 ns 0.31 ns 0.31 ns 1.00
from array of 1 - create + subscribe + current_thread 800.27 ns 5.56 ns 5.55 ns 1.00
concat_as_source of just(1 immediate) create + subscribe 1927.50 ns 114.30 ns 113.09 ns 1.01
defer from array of 1 - defer + create + subscribe + immediate 609.57 ns 0.31 ns 0.31 ns 1.00
interval - interval + take(3) + subscribe + immediate 1569.79 ns 58.31 ns 58.31 ns 1.00
interval - interval + take(3) + subscribe + current_thread 2108.04 ns 31.52 ns 31.50 ns 1.00

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 905.41 ns 0.31 ns 0.31 ns 1.00
immediate_just+filter(true)+subscribe 663.13 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+skip(1)+subscribe 858.85 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 737.03 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+first()+subscribe 1143.65 ns 0.31 ns 0.31 ns 1.00
immediate_just(1,2)+last()+subscribe 746.28 ns 0.31 ns 0.31 ns 1.00
immediate_just+take_last(1)+subscribe 969.45 ns 0.31 ns 0.31 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 200.91 ns 1.57 ns 1.54 ns 1.01
current_thread scheduler create worker + schedule 313.20 ns 5.57 ns 5.58 ns 1.00
current_thread scheduler create worker + schedule + recursive schedule 624.31 ns 59.66 ns 60.22 ns 0.99

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 654.45 ns 0.31 ns 0.31 ns 1.00
immediate_just+scan(10, std::plus)+subscribe 706.15 ns 0.31 ns 0.31 ns 1.00
immediate_just+flat_map(immediate_just(v*2))+subscribe 1909.44 ns 120.20 ns 119.44 ns 1.01
immediate_just+buffer(2)+subscribe 1368.04 ns 13.89 ns 14.50 ns 0.96
immediate_just+window(2)+subscribe + subscsribe inner 2214.66 ns 870.71 ns 820.15 ns 1.06

Conditional Operators

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

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 1632.94 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 2579.33 ns 125.35 ns 125.76 ns 1.00
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 3067.12 ns 122.21 ns 121.57 ns 1.01
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 111.42 ns 110.34 ns 1.01
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 2691.43 ns 732.13 ns 729.95 ns 1.00
immediate_just(1) + zip(immediate_just(2)) + subscribe 1858.38 ns 165.45 ns 166.86 ns 0.99

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 23.59 ns 13.87 ns 14.18 ns 0.98

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1041.97 ns 13.28 ns 13.27 ns 1.00
basic sample with immediate scheduler 1023.79 ns 6.17 ns 6.17 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 739.36 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 873.47 ns 125.35 ns 125.68 ns 1.00

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 578.45 ns 4.94 ns 4.01 ns 1.23
Subscribe empty callbacks to empty observable via pipe operator 594.22 ns 4.94 ns 4.01 ns 1.23

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1161.81 ns 5.55 ns 5.55 ns 1.00
from array of 1 - create + subscribe + current_thread 1434.25 ns 18.82 ns 19.13 ns 0.98
concat_as_source of just(1 immediate) create + subscribe 4670.43 ns 171.46 ns 178.90 ns 0.96
defer from array of 1 - defer + create + subscribe + immediate 1197.76 ns 5.55 ns 5.55 ns 1.00
interval - interval + take(3) + subscribe + immediate 3113.67 ns 133.62 ns 134.15 ns 1.00
interval - interval + take(3) + subscribe + current_thread 3523.60 ns 58.66 ns 57.73 ns 1.02

Filtering Operators

name rxcpp rpp prev rpp ratio
immediate_just+take(1)+subscribe 1989.20 ns 12.86 ns 12.87 ns 1.00
immediate_just+filter(true)+subscribe 1721.36 ns 11.69 ns 12.36 ns 0.95
immediate_just(1,2)+skip(1)+subscribe 1750.33 ns 13.11 ns 13.11 ns 1.00
immediate_just(1,1,2)+distinct_until_changed()+subscribe 1393.00 ns 15.78 ns 15.94 ns 0.99
immediate_just(1,2)+first()+subscribe 2078.40 ns 12.94 ns 12.63 ns 1.02
immediate_just(1,2)+last()+subscribe 1763.91 ns 14.10 ns 14.04 ns 1.00
immediate_just+take_last(1)+subscribe 2181.33 ns 59.74 ns 59.62 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 493.71 ns 6.48 ns 6.48 ns 1.00
current_thread scheduler create worker + schedule 667.86 ns 18.20 ns 18.52 ns 0.98
current_thread scheduler create worker + schedule + recursive schedule 1106.28 ns 116.20 ns 116.95 ns 0.99

Transforming Operators

name rxcpp rpp prev rpp ratio
immediate_just+map(v*2)+subscribe 1334.24 ns 11.22 ns 12.31 ns 0.91
immediate_just+scan(10, std::plus)+subscribe 1434.12 ns 21.58 ns 21.27 ns 1.01
immediate_just+flat_map(immediate_just(v*2))+subscribe 4117.11 ns 229.54 ns 227.28 ns 1.01
immediate_just+buffer(2)+subscribe 2371.56 ns 59.58 ns 58.86 ns 1.01
immediate_just+window(2)+subscribe + subscsribe inner 4308.79 ns 1583.28 ns 1504.65 ns 1.05

Conditional Operators

name rxcpp rpp prev rpp ratio
immediate_just+take_while(false)+subscribe 1357.79 ns 11.45 ns 11.45 ns 1.00
immediate_just+take_while(true)+subscribe 1331.74 ns 11.71 ns 12.35 ns 0.95

Utility Operators

name rxcpp rpp prev rpp ratio
immediate_just(1)+subscribe_on(immediate)+subscribe 4201.42 ns 7.71 ns 7.71 ns 1.00

Combining Operators

name rxcpp rpp prev rpp ratio
immediate_just(immediate_just(1), immediate_just(1)) + merge() + subscribe 5394.63 ns 251.29 ns 253.65 ns 0.99
immediate_just(1) + merge_with(immediate_just(2)) + subscribe 6428.65 ns 242.47 ns 241.02 ns 1.01
immediate_just(1) + with_latest_from(immediate_just(2)) + subscribe - 228.50 ns 226.45 ns 1.01
immediate_just(immediate_just(1),immediate_just(1)) + switch_on_next() + subscribe 6201.63 ns 982.55 ns 951.20 ns 1.03
immediate_just(1) + zip(immediate_just(2)) + subscribe 3943.94 ns 545.64 ns 534.97 ns 1.02

Subjects

name rxcpp rpp prev rpp ratio
publish_subject with 1 observer - on_next 36.17 ns 26.82 ns 25.90 ns 1.04

Scenarios

name rxcpp rpp prev rpp ratio
basic sample 1851.55 ns 59.60 ns 59.02 ns 1.01
basic sample with immediate scheduler 1868.56 ns 35.50 ns 35.48 ns 1.00

Aggregating Operators

name rxcpp rpp prev rpp ratio
immediate_just+reduce(10, std::plus)+subscribe 1459.77 ns 19.98 ns 17.81 ns 1.12

Error Handling Operators

name rxcpp rpp prev rpp ratio
create(on_next(1), on_error())+on_error_resume_next(immediate_just(2)))+subscribe 1920.37 ns 337.81 ns 336.49 ns 1.00

@sonarqubecloud

sonarqubecloud Bot commented Apr 5, 2024

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

@AlexInLog AlexInLog changed the title Add linesfrombytes Add linesfrombytes example Apr 5, 2024
@AlexInLog AlexInLog merged commit 7ef55e1 into v2 Apr 5, 2024
@AlexInLog AlexInLog deleted the add_linesfrombytes branch April 5, 2024 21:41
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