Repository navigation
Conversation
|
sorry but it needs to be rebased |
| num-bigint = { version = "0.5", features = ["rand_0_10"], optional = true } | ||
| num-integer = "0.1.46" | ||
| num-modular = "0.6.1" | ||
| num-modular = { version = "0.6.6", features = ["num-bigint"] } |
There was a problem hiding this comment.
this makes num-bigint a hard dependency even with --no-default-features, no?
could it stay behind big-int = ["dep:num-bigint", "num-modular/num-bigint"]?
| version = "0.4.6" | ||
| features = ["rand"] | ||
| optional = true | ||
| rand = "0.10" |
There was a problem hiding this comment.
rand 0.10 needs a much newer rustc than the rust-version = "1.70" above.
There was a problem hiding this comment.
What num-bigint does is define both rand_0_9 and rand_0_10 features. I was thinking we could do something similar if we don't bump the MSRV yet, since we want rand v0.10 for coreutils.
| criterion = { package = "codspeed-criterion-compat", version = "5.0.0" } | ||
| glass_pumpkin = "1.2.0" | ||
| num-bigint = { version = "0.4.6", features = ["rand"] } | ||
| glass_pumpkin = "2.0.0-rc1" |
There was a problem hiding this comment.
do we really want to depend on a release candidate? even if it is just the bench :)
There was a problem hiding this comment.
It seems glass_pumpkin bumped to v2 after v1.10.0 was yanked due to the breaking change from upgrading rand_core. I've asked about the roadmap for v2 in LF-Decentralized-Trust-labs/agora-glass_pumpkin#44.
There are very few changes in v2 anyway, so it may be fine to depend on the RC for now.
There was a problem hiding this comment.
glass_pumpkin v2.0.0 was released.
|
I was told to base my PR on #127 so that is what I did..... |
|
ok, i merged this PR but still conflicts |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
num-modular 0.6.6 has switched to num-bigint 0.5 num-bigint 0.5 supports rand 0.9 and 0.10 but not 0.8, use latest 0.10 glass_pumpkin (used only in benches) updated to 2.0.0-rc1 to support num-bigint 0.5
|
I've rebased this onto main, dealt with the conflicts and moved the import in nt_funcs into the mod tests. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #139 +/- ##
==========================================
+ Coverage 78.64% 86.07% +7.43%
==========================================
Files 13 17 +4
Lines 2585 3972 +1387
Branches 230 264 +34
==========================================
+ Hits 2033 3419 +1386
+ Misses 552 550 -2
- Partials 0 3 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Merging this PR will regress 4 benchmarks
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ | glass_pumpkin |
2.1 ms | 8.5 ms | -75.93% |
| ❌ | glass_pumpkin |
321.3 ms | 470.1 ms | -31.64% |
| ❌ | glass_pumpkin |
12.5 µs | 17.1 µs | -26.77% |
| ❌ | glass_pumpkin (BPSW) |
12.5 µs | 16.2 µs | -22.77% |
| ⚡ | glass_pumpkin (BPSW) |
38.9 µs | 12.6 µs | ×3.1 |
| ⚡ | glass_pumpkin |
38.9 µs | 13 µs | ×3 |
| ⚡ | glass_pumpkin |
20.9 ms | 8.7 ms | ×2.4 |
| ⚡ | glass_pumpkin (BPSW) |
27.5 µs | 15.9 µs | +72.67% |
| ⚡ | glass_pumpkin |
27.5 µs | 16.5 µs | +66.91% |
| ⚡ | glass_pumpkin (BPSW) |
54.5 µs | 39.9 µs | +36.47% |
| ⚡ | glass_pumpkin |
54.5 µs | 40.4 µs | +34.91% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing plugwash:deps (e51b5ee) with main (0f3dca7)
Footnotes
-
9 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
|
|
I'm at a loss, the tests passed locally and I don't see any mention of getrandom in bench/Cargo.toml. |
|
Right, the error seems to be because these changes use |
|
clippy and rustfmt are sad :), and a bunch of jobs are failing |
| use super::*; | ||
| use rand::{prelude::SliceRandom, random}; | ||
| use std::iter::FromIterator; | ||
| use rand::prelude::IndexedRandom; |
There was a problem hiding this comment.
is SliceRandom still used? choose comes from IndexedRandom now.
please merge it into the use rand::{...} above
| macro_rules! impl_randprime_prim { | ||
| ($($T:ty)*) => {$( | ||
| impl<R: Rng> RandPrime<$T> for R { | ||
| impl<R: RngExt> RandPrime<$T> for R { |
There was a problem hiding this comment.
this changes the public API (rand 0.10 rngs only, num-bigint 0.5 BigUint), so it is a breaking change.
we will need to bump the version to 0.7
There was a problem hiding this comment.
We already made a breaking change in #127, so yes will need to bump to 0.7.
|
clippy is sad on 2 jobs :) rustfmt is sad too :) |
|
@plugwash Are you planning to continue with this? If not, I’d be happy to take it over. |
|
Feel free to take it over. |
|
I've started working on this, but I would like to get #143 merged first. |
This PR builds on https://github.com/plugwash/num-prime/pull/new/deps to further bump num-modular to 0.6.6 and update other dependencies to get a compatible set.
Closes #120
Closes #141