Skip to content

skip[fuzz]: allow generation of longer arrays #7729

Merged
robert3005 merged 5 commits intodevelopfrom
ji/fuzz-arb-longer
Apr 30, 2026
Merged

skip[fuzz]: allow generation of longer arrays #7729
robert3005 merged 5 commits intodevelopfrom
ji/fuzz-arb-longer

Conversation

@joseph-isaacs
Copy link
Copy Markdown
Contributor

@joseph-isaacs joseph-isaacs commented Apr 30, 2026

Allow the fuzzer to create longer arrays to exercise more file_io logic (e.g. zone_map partitions).

Adds a new trait ArbitraryWith and ArbitraryArrayConfig to express this.

/// Trait for generating arbitrary values with a caller-provided configuration.
pub trait ArbitraryWith<'a, C>: Sized {
    /// Generate an arbitrary value using the provided configuration.
    fn arbitrary_with_config(u: &mut Unstructured<'a>, config: &C) -> Result<Self>;
}

/// Configuration for arbitrary array generation.
#[derive(Clone, Debug)]
pub struct ArbitraryArrayConfig {
    /// Fixed dtype, or `None` to generate one from [`Unstructured`].
    pub dtype: Option<DType>,
    /// Inclusive range for the total array length.
    pub len: RangeInclusive<usize>,
}

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the changelog/skip Do not list PR in the changelog label Apr 30, 2026
@joseph-isaacs joseph-isaacs marked this pull request as ready for review April 30, 2026 14:26
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 30, 2026

Merging this PR will degrade performance by 31.49%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 3 improved benchmarks
❌ 6 regressed benchmarks
✅ 1189 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime runend[10M_i32_runlen_1000] 97.3 µs 134.1 µs -27.48%
WallTime runend[10M_i32_runlen_10] 161.2 µs 191.7 µs -15.89%
WallTime dynamic_dispatch_u32[10M] 161.8 µs 108.5 µs +49.06%
WallTime dynamic_dispatch_u32[10M] 127 µs 185.3 µs -31.49%
WallTime 10M_10%[1000000] 132.2 µs 169.7 µs -22.13%
WallTime 10M_50%[5000000] 308.4 µs 277.2 µs +11.24%
WallTime 10M_90%[10000000] 396.1 µs 359.8 µs +10.08%
WallTime decompress_kernel[1M] 379.9 µs 427 µs -11.03%
Simulation bitwise_not_vortex_buffer_mut[128] 246.1 ns 275.3 ns -10.6%

Comparing ji/fuzz-arb-longer (d1f7ecd) with develop (128ce5f)

Open in CodSpeed

Comment thread encodings/runend/src/arbitrary.rs Outdated
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@robert3005 robert3005 merged commit 6d2aee8 into develop Apr 30, 2026
62 of 63 checks passed
@robert3005 robert3005 deleted the ji/fuzz-arb-longer branch April 30, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/skip Do not list PR in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants