Repository navigation
Build(deps): bump ringbuf from 0.5.1 to 0.5.2 - #9
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [ringbuf](https://github.com/agerasev/ringbuf) from 0.5.1 to 0.5.2. - [Release notes](https://github.com/agerasev/ringbuf/releases) - [Commits](https://github.com/agerasev/ringbuf/commits) --- updated-dependencies: - dependency-name: ringbuf dependency-version: 0.5.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Jumping to ringbuf 0.5.2 causes a major performance regression in rawb-io. We're going to wait on agerasev/ringbuf#64 to be merged, and a 0.5.3 before updating. |
Raises the `ringbuf` requirement from `0.5` to `0.5.3` and updates the lockfile from 0.5.1. Supersedes #9. In ringbuf 0.5.2, `Consumer::skip` takes time proportional to the number of items skipped, even for `u8`. Every byte `ReadAhead` and `WriteBehind` move goes through `skip`, so in-memory throughput fell from ~80–100 GB/s to ~3.5 GB/s. ringbuf 0.5.3 includes agerasev/ringbuf#64, which restores the constant-time path. Requiring 0.5.3 ensures downstream builds can't resolve to 0.5.2. 0.5.3 also includes two other upstream changes. I reviewed both against how rawb-io uses the ring: - a80f211 removes deferred index updates from the caching and frozen wrappers. rawb-io uses neither `freeze` nor `pop_iter`. `advance_write_index` and `advance_read_index` on the caching endpoints still publish straight to the shared atomic, so the publication order our protocol relies on is unchanged. - bb72627 caps capacity at `usize::MAX / 2` and makes the index arithmetic overflow-safe. Every count rawb-io passes to `advance_*_index` is at most one capacity, so it meets the new `add_mod` precondition. Testing (local, macOS): - `cargo ci-fmt`, `ci-lint`, `ci-test` (55 passed), `ci-doctest` and `cargo deny check` all pass. - `LOOM_MAX_PREEMPTIONS=0 scripts/loom.sh`: all 6 models pass against the patched 0.5.3 sources, including the new `skip` fast path. - `cargo ci-soak`: 7/7 pass. - End-to-end throughput benchmark (separate scratch crate, not committed) on 0.5.3: ~95–108 GB/s read and ~88–90 GB/s write, back to 0.5.1 levels. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Fixed a performance regression affecting in-memory read-ahead and write-behind operations. Buffering throughput is no longer significantly reduced when skipping bytes, restoring faster data handling. Users of `rawb-io` 0.1.0 can receive the fix by updating their dependencies. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
Looks like ringbuf is up-to-date now, so this is no longer needed. |
Bumps ringbuf from 0.5.1 to 0.5.2.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)