Skip to content

Commit 9c28415

Browse files
committed
Update 0.6.0
1 parent efa2191 commit 9c28415

29 files changed

Lines changed: 1341 additions & 62 deletions

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,35 @@ jobs:
9494
cargo test --workspace --no-default-features --features "${{ matrix.features }}"
9595
fi
9696
97+
# Optimization-level matrix to catch codegen-sensitive issues
98+
opt-matrix:
99+
name: Opt-Level Matrix
100+
runs-on: ubuntu-latest
101+
strategy:
102+
fail-fast: false
103+
matrix:
104+
opt: ["0", "1", "2", "3", "s", "z"]
105+
steps:
106+
- name: Checkout code
107+
uses: actions/checkout@v4
108+
109+
- name: Install Rust toolchain
110+
uses: dtolnay/rust-toolchain@stable
111+
112+
- name: Test workspace (opt=${{ matrix.opt }})
113+
env:
114+
RUSTFLAGS: -C opt-level=${{ matrix.opt }}
115+
run: |
116+
echo "RUSTFLAGS=$RUSTFLAGS"
117+
cargo test --workspace -q
118+
119+
- name: Test workspace all-features (opt=${{ matrix.opt }})
120+
env:
121+
RUSTFLAGS: -C opt-level=${{ matrix.opt }}
122+
run: |
123+
echo "RUSTFLAGS=$RUSTFLAGS"
124+
cargo test --workspace --all-features -q
125+
97126
# Assembly inspection (artifacts for manual review)
98127
assembly:
99128
name: Assembly Inspection

CHANGELOG.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@
1111
## [Unreleased]
1212

1313

14+
15+
16+
17+
18+
<br>
19+
20+
## [0.6.0] - 2025-08-29
1421
### Added
1522
- Scheduled perf workflow: `.github/workflows/perf.yml`
1623
- Runs twice weekly (Sun/Wed 02:00 UTC) and via manual dispatch
@@ -28,6 +35,28 @@
2835
- CI perf workflow restricted to `main` and protected with concurrency guard
2936
- Replaced `#[inline(always)]` with `#[inline]` for hot-path methods in `src/histogram.rs`
3037
- Resolves `clippy::inline_always` under `-D warnings` while preserving optimizer freedom
38+
- `docs/API.md`: moved the Histogram section under “Types → Stats → Histogram” and added a runnable example with feature-gating notes
39+
- `docs/features/README.md`: clarified `--no-default-features` usage comment and guidance to opt back in with `-F benchmark` / `-F metrics`
40+
- `docs/BENCHMARK.md` and `docs/METRICS.md`: added consistent feature-gating notes near the top
41+
- `docs/features/BENCHMARK.md` and `docs/features/METRICS.md`: added consistent feature-gating notes; fixed header label in Metrics page
42+
43+
### Documentation
44+
- Doc sweep for clarity and consistency on feature gates across Benchmark and Metrics docs
45+
- Emphasized opt-in perf gates: `perf-tests` with `PERF_TESTS=1`
46+
- Clarified and emphasized that histogram percentile inputs are clamped to [0.0, 1.0] across `README.md` and `docs/API.md`. Out-of-range inputs map to min/max.
47+
48+
### Fixed
49+
- Clippy lints in benches:
50+
- `benches/timers.rs`: use assign-op `+=` pattern
51+
- `benches/histogram_hot.rs`: removed unnecessary casts
52+
- Added explicit ignore reasons for perf-gated tests/benches in `src/histogram.rs`
53+
- Percentile interpolation overflow in `src/histogram.rs` when handling large bucket widths/counts: switched to u128 intermediates to prevent overflow.
54+
- Ensured percentile 1.0 returns the true maximum in `Histogram::percentiles()` (explicit post-pass to set p==1.0 to max), aligning with `percentile(1.0)` behavior.
55+
56+
### Maintenance
57+
- CI locally: `cargo fmt --all -- --check`, `cargo clippy --all-targets --all-features`, `cargo test --all-features`, `cargo doc --no-deps`
58+
59+
3160

3261

3362
<br>
@@ -202,7 +231,9 @@ Initial pre-dev release for backup.
202231

203232

204233

205-
[Unreleased]: https://github.com/jamesgober/rust-benchmark/compare/v0.5.8...HEAD
234+
[Unreleased]: https://github.com/jamesgober/rust-benchmark/compare/v0.6.0...HEAD
235+
[0.8.0]: https://github.com/jamesgober/rust-benchmark/compare/v0.7.0...v0.8.0
236+
[0.7.0]: https://github.com/jamesgober/rust-benchmark/compare/v0.6.0...v0.7.0
206237
[0.6.0]: https://github.com/jamesgober/rust-benchmark/compare/v0.5.8...v0.6.0
207238
[0.5.8]: https://github.com/jamesgober/rust-benchmark/compare/v0.5.7...v0.5.8
208239
[0.5.7]: https://github.com/jamesgober/rust-benchmark/compare/v0.5.0...v0.5.7

0 commit comments

Comments
 (0)