mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat(bench): make benchmark inputs deterministic using fixed seed (#13586)
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
This commit is contained in:
@ -69,14 +69,19 @@ impl Default for BlockRangeParams {
|
||||
/// If `SEED` is not set, a random seed is used.
|
||||
pub fn rng() -> StdRng {
|
||||
if let Ok(seed) = std::env::var("SEED") {
|
||||
let mut hasher = DefaultHasher::new();
|
||||
hasher.write(seed.as_bytes());
|
||||
StdRng::seed_from_u64(hasher.finish())
|
||||
rng_with_seed(seed.as_bytes())
|
||||
} else {
|
||||
StdRng::from_rng(thread_rng()).expect("could not build rng")
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns a random number generator from a specific seed, as bytes.
|
||||
pub fn rng_with_seed(seed: &[u8]) -> StdRng {
|
||||
let mut hasher = DefaultHasher::new();
|
||||
hasher.write(seed);
|
||||
StdRng::seed_from_u64(hasher.finish())
|
||||
}
|
||||
|
||||
/// Generates a range of random [`SealedHeader`]s.
|
||||
///
|
||||
/// The parent hash of the first header
|
||||
|
||||
Reference in New Issue
Block a user