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

Add scan operator #354

Merged
merged 6 commits into from
May 21, 2023
Merged

Add scan operator #354

merged 6 commits into from
May 21, 2023

Conversation

victimsnino
Copy link
Owner

No description provided.

@codecov
Copy link

codecov bot commented May 19, 2023

Codecov Report

Merging #354 (9dbfe1e) into v2 (e38224b) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##               v2     #354      +/-   ##
==========================================
+ Coverage   99.47%   99.49%   +0.02%     
==========================================
  Files          25       26       +1     
  Lines         572      597      +25     
==========================================
+ Hits          569      594      +25     
  Misses          3        3              
Impacted Files Coverage Δ
src/rpp/rpp/operators/filter.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/map.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/take.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/take_while.hpp 100.00% <ø> (ø)
src/rpp/rpp/sources/concat.hpp 100.00% <ø> (ø)
src/rpp/rpp/operators/details/strategy.hpp 100.00% <100.00%> (ø)
src/rpp/rpp/operators/scan.hpp 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@github-actions
Copy link
Contributor

github-actions bot commented May 19, 2023

BENCHMARK RESULTS (AUTOGENERATED)

ci-ubuntu-gcc

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 707.49 ns 1.00 ns 0.80 ns 1.25
Subscribe empty callbacks to empty observable via pipe operator 711.54 ns 1.00 ns 0.80 ns 1.25

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 1822.84 ns 0.37 ns 0.80 ns 0.46
from array of 1 - create + subscribe + current_thread 2661.27 ns 7.69 ns 6.03 ns 1.27
concat_as_source of just(1 immediate) create + subscribe 5602.02 ns 7.06 ns 5.62 ns 1.26

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 1437.92 ns 0.33 ns 0.40 ns 0.83
create+filter(true)+subscribe 870.93 ns 0.33 ns 0.40 ns 0.83

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 741.11 ns 0.67 ns 0.40 ns 1.67
current_thread scheduler create worker + schedule 896.96 ns 5.99 ns 5.61 ns 1.07
current_thread scheduler create worker + schedule + recursive schedule 2009.21 ns 80.25 ns 78.11 ns 1.03

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 860.55 ns 0.33 ns 0.40 ns 0.83
create+scan(10, std::plus)+subscribe 1015.16 ns 0.33 ns - 0.00

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 913.08 ns - - 0.00

ci-macos

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1045.53 ns 0.56 ns 0.56 ns 0.99
Subscribe empty callbacks to empty observable via pipe operator 1069.24 ns 0.55 ns 0.56 ns 0.98

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 2271.65 ns 0.45 ns 0.44 ns 1.01
from array of 1 - create + subscribe + current_thread 2963.88 ns 15.32 ns 16.46 ns 0.93
concat_as_source of just(1 immediate) create + subscribe 6835.47 ns 10.49 ns 10.56 ns 0.99

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 1989.87 ns 0.28 ns 0.28 ns 1.00
create+filter(true)+subscribe 1141.74 ns 0.28 ns 0.28 ns 1.00

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 995.59 ns 0.56 ns 0.56 ns 1.00
current_thread scheduler create worker + schedule 1317.09 ns 8.35 ns 8.62 ns 0.97
current_thread scheduler create worker + schedule + recursive schedule 2306.56 ns 164.39 ns 154.80 ns 1.06

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 1157.04 ns 0.28 ns 0.28 ns 1.00
create+scan(10, std::plus)+subscribe 1384.87 ns 0.56 ns - 0.00

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 1198.43 ns - - 0.00

ci-ubuntu-clang

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 371.38 ns 1.00 ns 0.60 ns 1.67
Subscribe empty callbacks to empty observable via pipe operator 376.20 ns 0.67 ns 0.60 ns 1.11

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 764.65 ns 0.37 ns 0.41 ns 0.91
from array of 1 - create + subscribe + current_thread 1077.68 ns 10.03 ns 8.06 ns 1.24
concat_as_source of just(1 immediate) create + subscribe 2323.11 ns 8.37 ns 6.53 ns 1.28

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 670.41 ns 0.33 ns 0.40 ns 0.83
create+filter(true)+subscribe 405.08 ns 0.33 ns 0.40 ns 0.84

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 260.54 ns 1.00 ns 0.80 ns 1.25
current_thread scheduler create worker + schedule 420.90 ns 4.55 ns 4.05 ns 1.12
current_thread scheduler create worker + schedule + recursive schedule 849.20 ns 66.42 ns 65.28 ns 1.02

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 404.54 ns 0.33 ns 0.40 ns 0.83
create+scan(10, std::plus)+subscribe 475.79 ns 0.67 ns - 0.00

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 429.99 ns - - 0.00

ci-windows

General

name rxcpp rpp prev rpp ratio
Subscribe empty callbacks to empty observable 1865.28 ns 2.34 ns 2.01 ns 1.17
Subscribe empty callbacks to empty observable via pipe operator 2452.33 ns 2.46 ns 2.01 ns 1.23

Sources

name rxcpp rpp prev rpp ratio
from array of 1 - create + subscribe + immediate 3370.57 ns 8.69 ns 10.52 ns 0.83
from array of 1 - create + subscribe + current_thread 3452.63 ns 17.23 ns 21.84 ns 0.79
concat_as_source of just(1 immediate) create + subscribe 8738.14 ns 22.56 ns 27.63 ns 0.82

Filtering Operators

name rxcpp rpp prev rpp ratio
create+take(1)+subscribe 2427.17 ns 7.97 ns 9.80 ns 0.81
create+filter(true)+subscribe 1359.62 ns 5.68 ns 7.62 ns 0.75

Schedulers

name rxcpp rpp prev rpp ratio
immediate scheduler create worker + schedule 1156.90 ns 1.67 ns 2.01 ns 0.83
current_thread scheduler create worker + schedule 1416.94 ns 9.15 ns 11.26 ns 0.81
current_thread scheduler create worker + schedule + recursive schedule 3192.63 ns 132.01 ns 158.12 ns 0.83

Transforming Operators

name rxcpp rpp prev rpp ratio
create+map(v*2)+subscribe 1548.38 ns 6.10 ns 7.62 ns 0.80
create+scan(10, std::plus)+subscribe 1565.70 ns 11.11 ns - 0.00

Conditional Operators

name rxcpp rpp prev rpp ratio
create+take_while(false)+subscribe 1479.34 ns 5.35 ns 6.42 ns 0.83

@sonarcloud
Copy link

sonarcloud bot commented May 21, 2023

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

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@victimsnino victimsnino merged commit 6f25aef into v2 May 21, 2023
20 checks passed
@victimsnino victimsnino deleted the scan branch May 21, 2023 18:50
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.

None yet

1 participant