Repository navigation
feat: Prepare rt-ring v0.1.0 for public release - #3
Merged
Merged
Conversation
hasanzakeri
added a commit
that referenced
this pull request
Oct 8, 2026
## Prepare rt-ring v0.1.0 for public release Fixes and polish needed before publishing to crates.io. ### Cache-line false sharing fix (`src/shared.rs`) `write_pos` and `read_pos` previously shared a cache line, causing them to bounce between producer and consumer threads. Wrapped both in `CachePadded<T>` (`#[repr(align(64))]`). Cross-thread throughput improved ~34% (8.9 ms → 5.85 ms for 1M samples). ### `Producer::overwrite_count()` (`src/lib.rs`) Was only available on `Consumer`. Both halves now expose it since they read the same atomic counter. ### Doc-tests (`src/lib.rs`) All 10 public items now have runnable `///` examples. All pass under `cargo test`. ### CI: Loom job (`.github/workflows/ci.yml`) Added a dedicated `loom` job running `cargo test --features loom-tests --test loom_spsc`. Previously loom tests existed but weren't wired into CI. ### `Cargo.toml` - Set `repository` URL - Removed `"no-std"` from categories (inaccurate — uses `std::sync::Arc`) - Added `publish = false` until a license is chosen ### `CHANGELOG.md` New file documenting the initial release with benchmark numbers. ### README Removed spurious `mut` from the usage example (`&self` API, bindings don't need to be mutable). --- All 37 tests pass (`cargo test`), clippy clean.
hasanzakeri
added a commit
that referenced
this pull request
Oct 8, 2026
## Prepare rt-ring v0.1.0 for public release Fixes and polish needed before publishing to crates.io. ### Cache-line false sharing fix (`src/shared.rs`) `write_pos` and `read_pos` previously shared a cache line, causing them to bounce between producer and consumer threads. Wrapped both in `CachePadded<T>` (`#[repr(align(64))]`). Cross-thread throughput improved ~34% (8.9 ms → 5.85 ms for 1M samples). ### `Producer::overwrite_count()` (`src/lib.rs`) Was only available on `Consumer`. Both halves now expose it since they read the same atomic counter. ### Doc-tests (`src/lib.rs`) All 10 public items now have runnable `///` examples. All pass under `cargo test`. ### CI: Loom job (`.github/workflows/ci.yml`) Added a dedicated `loom` job running `cargo test --features loom-tests --test loom_spsc`. Previously loom tests existed but weren't wired into CI. ### `Cargo.toml` - Set `repository` URL - Removed `"no-std"` from categories (inaccurate — uses `std::sync::Arc`) - Added `publish = false` until a license is chosen ### `CHANGELOG.md` New file documenting the initial release with benchmark numbers. ### README Removed spurious `mut` from the usage example (`&self` API, bindings don't need to be mutable). --- All 37 tests pass (`cargo test`), clippy clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepare rt-ring v0.1.0 for public release
Fixes and polish needed before publishing to crates.io.
Cache-line false sharing fix (
src/shared.rs)write_posandread_pospreviously shared a cache line, causing them to bounce between producer and consumer threads. Wrapped both inCachePadded<T>(#[repr(align(64))]). Cross-thread throughput improved ~34% (8.9 ms → 5.85 ms for 1M samples).Producer::overwrite_count()(src/lib.rs)Was only available on
Consumer. Both halves now expose it since they read the same atomic counter.Doc-tests (
src/lib.rs)All 10 public items now have runnable
///examples. All pass undercargo test.CI: Loom job (
.github/workflows/ci.yml)Added a dedicated
loomjob runningcargo test --features loom-tests --test loom_spsc. Previously loom tests existedbut weren't wired into CI.
Cargo.tomlrepositoryURL"no-std"from categories (inaccurate — usesstd::sync::Arc)publish = falseuntil a license is chosenCHANGELOG.mdNew file documenting the initial release with benchmark numbers.
README
Removed spurious
mutfrom the usage example (&selfAPI, bindings don't need to be mutable).All 37 tests pass (
cargo test), clippy clean.