Skip to content

Build(deps): bump ringbuf from 0.5.1 to 0.5.2 - #9

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ringbuf-0.5.2
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ringbuf-0.5.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Bumps ringbuf from 0.5.1 to 0.5.2.

Commits

Dependabot compatibility score

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

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>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 20, 2026
@coderabbitai

coderabbitai Bot commented Sep 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 644c24ad-d47b-4c8d-b1d8-5520cd0c6112

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tfenne

tfenne commented Oct 5, 2026

Copy link
Copy Markdown
Owner

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.

tfenne added a commit that referenced this pull request Oct 8, 2026
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 -->
@dependabot @github

dependabot Bot commented on behalf of github Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

Looks like ringbuf is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Oct 8, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/ringbuf-0.5.2 branch October 8, 2026 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant