-
Notifications
You must be signed in to change notification settings - Fork 0
chore: Update dependencies in Cargo.lock and Cargo.toml, add branches… #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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
… package. Adjust benchmark measurement and warm-up times for improved accuracy. Refactor SPSC and WaitBudget for better performance.
…er APIs. Implement `lock_apply`, `lock_apply_then`, `lock_apply_with`, and `lock_with` methods for better latch management. Introduce `LocalTrustee` for allocation-free entrustment of values.
…onsistent performance testing. Commented out dynamic worker calculation for clarity.
…Introduce profiling settings in Cargo.toml and new benchmark files for local and remote trustees.
…es during profiling. This ensures only valid binaries are processed, improving the accuracy of memory and performance checks.
…ofiling-specific commands. This streamlines the workflow for running tests and captures output without unnecessary profiling steps.
…ries and improve error handling. Added BENCH_BIN_NAMES for clarity and updated test command to use profiling settings, ensuring only valid executables are processed.
729ae80 to
629d963
Compare
… in Valgrind workflow.
…ime. Updated worker handle to be optional and implemented clean termination logic in Drop.
c8b7e8a to
a3de2ac
Compare
…te CI workflow - Introduced `perf_local`, `perf_latch`, and `perf_pinned_remote` benchmarks in `benches/`. - Updated `Cargo.toml` to include new benchmarks. - Modified Valgrind CI workflow to use `BENCH_NAMES` for clarity and increased iteration count for tests.
- Replaced inline always with inline for the `step` method to improve inlining decisions. - Utilized `likely` for branch prediction in both spin and yield conditions to enhance performance. - Removed unnecessary `step_slow` method, streamlining the logic for better efficiency.
- Added `Spsc` struct for single-producer/single-consumer ring buffer with power-of-two capacity and optimized for delegation patterns. - Introduced `WaitBudget` for lightweight wait management, allowing bounded spin and yield without parking. - Updated dependencies in `Cargo.toml` and removed unused packages from `Cargo.lock`. - Refactored `trustee` module to utilize the new ring buffer implementation.
- Added `prod_head_cache` and `cons_tail_cache` to `Spsc` struct to reduce cross-core traffic. - Updated `try_push` and `try_pop` methods to utilize cached values for improved performance during contention.
- Deleted the `Spsc` struct and its associated methods, replacing it with `ArrayQueue` and `SegQueue` for better concurrency support. - Updated `RemoteRuntime` and `LocalTrustee` to utilize the new queue implementations. - Cleaned up `Cargo.toml` and `Cargo.lock` by removing unused dependencies. - Added `PhantomData` to structs for improved type safety.
- Renamed `Trust<T>` to `Trust-T` and streamlined the overview to focus on trust-based concurrency. - Consolidated features and architecture sections for clarity. - Updated API examples to reflect new usage patterns with `Trust` and `Latch`. - Removed outdated sections and improved overall readability. - Added new example files demonstrating basic usage and latch functionality.
…y `Trust::new` calls - Updated various benchmark and example files to directly use `Local::entrust` and `Remote::entrust` instead of wrapping them in `Trust::new`. - Cleaned up code by removing redundant trust instances, enhancing readability and consistency across the codebase. - Adjusted comments and documentation to reflect the new usage patterns.
19419c4 to
708225f
Compare
- Created a new GitHub Actions workflow for Miri to run tests, examples, and benchmarks under the Undefined Behavior (UB) sanitizer. - Configured the workflow to trigger on pushes to the main branch and pull requests. - Set up environment variables for benchmark names and iteration counts. - Included steps for checking out the code, installing the nightly Rust toolchain with Miri, and executing tests and examples. - Removed the memcheck step from the Valgrind workflow to streamline the process.
- Updated lock acquisition in `Remote` implementations to use `WaitBudget::acquire_lock_with_budget` for improved efficiency. - Removed spin loop logic, enhancing code readability and performance during lock contention.
- Added a new `Registrar` struct to handle registration of `ChannelPair` instances with the worker thread, improving modularity and clarity. - Updated `Remote` struct to include a `registrar` field, allowing for better management of channel pairs. - Removed the `client_lock` from `ChannelPair`, simplifying the structure and eliminating unnecessary locking logic. - Enhanced the `clone` method in `Remote` to register new `ChannelPair` instances during cloning, ensuring thread safety and proper resource management.
- Deleted the steps for running tests and uploading results in the Valgrind GitHub Actions workflow to streamline the process.
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.
… package. Adjust benchmark measurement and warm-up times for improved accuracy. Refactor SPSC and WaitBudget for better performance.