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

Draft impl of JP06 pseudo-uniform sieve #65

Open
wants to merge 48 commits into
base: master
Choose a base branch
from
Open

Conversation

dvdplm
Copy link
Contributor

@dvdplm dvdplm commented Nov 11, 2024

Benchmarks:

Uniform sieve/(U128) Random prime
                        time:   [32.767 µs 32.969 µs 33.181 µs]
                        change: [-0.4771% +0.7714% +2.0074%] (p = 0.23 > 0.05)
                        No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
  3 (3.00%) low mild
  4 (4.00%) high mild
  2 (2.00%) high severe
Uniform sieve/(U256) Random prime
                        time:   [195.06 µs 197.93 µs 201.10 µs]
                        change: [-1.7183% +0.8250% +3.9669%] (p = 0.59 > 0.05)
                        No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
  4 (4.00%) low mild
  1 (1.00%) high mild
  1 (1.00%) high severe
Uniform sieve/(U512) Random prime
                        time:   [195.69 µs 198.17 µs 200.70 µs]
                        change: [-2.1433% -0.0896% +1.8500%] (p = 0.93 > 0.05)
                        No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low severe
  2 (2.00%) low mild
  1 (1.00%) high severe
Uniform sieve/(U1024) Random prime
                        time:   [24.710 ms 28.033 ms 31.541 ms]
                        change: [-15.085% +0.7718% +19.342%] (p = 0.94 > 0.05)
                        No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
  4 (4.00%) high mild
  1 (1.00%) high severe
Benchmarking Uniform sieve/(U2048) Random prime: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 34.0s, or reduce sample count to 10.
Uniform sieve/(U2048) Random prime
                        time:   [282.51 ms 336.24 ms 393.47 ms]
                        change: [-20.629% +0.4076% +27.463%] (p = 0.97 > 0.05)
                        No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high mild

Presets/(U128) Random prime
                        time:   [27.187 µs 27.303 µs 27.430 µs]
                        change: [+3.0519% +3.7032% +4.3662%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 9 outliers among 100 measurements (9.00%)
  1 (1.00%) low mild
  3 (3.00%) high mild
  5 (5.00%) high severe
Presets/(U256) Random prime
                        time:   [63.383 µs 63.676 µs 64.007 µs]
                        change: [+2.3485% +3.2713% +4.2028%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
  5 (5.00%) low mild
  7 (7.00%) high mild
  1 (1.00%) high severe
Presets/(U512) Random prime
                        time:   [195.88 µs 196.65 µs 197.46 µs]
                        change: [+1.0281% +1.6859% +2.4505%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low severe
  1 (1.00%) low mild
  2 (2.00%) high mild
Presets/(U1024) Random prime
                        time:   [15.826 ms 17.529 ms 19.364 ms]
                        change: [-12.213% +0.4257% +15.996%] (p = 0.96 > 0.05)
                        No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild
Benchmarking Presets/(U2048) Random prime: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.9s, or reduce sample count to 60.
Presets/(U2048) Random prime
                        time:   [56.250 ms 66.137 ms 76.588 ms]
                        change: [-19.906% +0.0374% +23.264%] (p = 0.99 > 0.05)
                        No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
  6 (6.00%) high mild
  1 (1.00%) high severe

@dvdplm dvdplm requested a review from fjarri November 11, 2024 21:47
Copy link

codecov bot commented Nov 11, 2024

Codecov Report

Attention: Patch coverage is 89.22156% with 18 lines in your changes missing coverage. Please review.

Project coverage is 98.20%. Comparing base (4ea84ca) to head (66b37ae).

Files with missing lines Patch % Lines
src/hazmat/uniform_sieve.rs 84.68% 17 Missing ⚠️
src/stat_utils.rs 98.18% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
- Coverage   99.37%   98.20%   -1.18%     
==========================================
  Files           9       11       +2     
  Lines        1280     1446     +166     
==========================================
+ Hits         1272     1420     +148     
- Misses          8       26      +18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

@fjarri fjarri mentioned this pull request Nov 11, 2024
src/uniform_sieve.rs Outdated Show resolved Hide resolved
@dvdplm dvdplm marked this pull request as ready for review November 25, 2024 17:11
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