-
Notifications
You must be signed in to change notification settings - Fork 0
High-Performance Sharded Architecture & O(1) Algorithms (v2.0.0) #2
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
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
cb3b9b5
perf: optimize LRU/FIFO to O(1) and add performance benchmarks
Q300Z 7022f0f
refactor: implement sharded generic architecture and static dispatch
Q300Z 65d8819
feat: make tokio optional via 'async' feature gate
Q300Z d038ca8
docs: modernize CI pipeline and update documentation with performance…
Q300Z 0016fc9
perf: implement index-based arena for LRU/FIFO to eliminate key cloning
Q300Z 042b3f8
perf: implement Borrow support for zero-allocation cache lookups
Q300Z b575d49
docs: update README with record performance results and index-based a…
Q300Z 30cc7f1
perf: implement u32 indices and RwLock with batching for concurrent t…
Q300Z 148d296
docs: add sync and async examples and refine façade for Borrow support
Q300Z 6b04e43
chore: update rust-version to 1.93 and update CI triggers
Q300Z 56270ac
perf: optimize hashing with BuildHasher::hash_one and resolve black_b…
Q300Z 2beb4d9
refactor: apply clippy suggestions for idiomatic code (collapsible_if…
Q300Z 30a70ca
fix: update tests to support conditional cleaner startup and improve …
Q300Z 2302763
docs: final README formatting and cleanup
Q300Z 2888de4
refactor!: implement sharded architecture and generic strategy API
Q300Z b6cffcd
ci: implement automated versioning and crates.io publishing via relea…
Q300Z 10263c8
style: apply rustfmt to the entire codebase
Q300Z 8ce053e
fix: feature-gate async example to support no-default-features builds
Q300Z File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,25 +1,61 @@ | ||
| name: Rust | ||
| name: Rust CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: [ "main" ] | ||
| branches: [ "main", "dev" ] | ||
| pull_request: | ||
| branches: [ "main" ] | ||
| branches: [ "main", "dev" ] | ||
|
|
||
| env: | ||
| CARGO_TERM_COLOR: always | ||
|
|
||
| jobs: | ||
| build: | ||
| # Check formatting | ||
| fmt: | ||
| name: Rustfmt | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Build | ||
| run: cargo build --verbose | ||
| - uses: actions/checkout@v6 | ||
| - uses: dtolnay/rust-toolchain@stable | ||
| with: | ||
| components: rustfmt | ||
| - run: cargo fmt --all -- --check | ||
|
|
||
| # Static analysis | ||
| clippy: | ||
| name: Clippy | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| - uses: dtolnay/rust-toolchain@stable | ||
| with: | ||
| components: clippy | ||
| - uses: swatinem/rust-cache@v2 | ||
| - name: Run clippy | ||
| run: cargo clippy --all-targets --all-features -- -D warnings | ||
|
|
||
| # Multi-feature testing matrix | ||
| test: | ||
| needs: build | ||
| name: Test | ||
| needs: [ fmt, clippy ] | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| matrix: | ||
| feature_flags: [ "--all-features", "--no-default-features" ] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: dtolnay/rust-toolchain@stable | ||
| - uses: swatinem/rust-cache@v2 | ||
| - name: Run tests | ||
| run: cargo test ${{ matrix.feature_flags }} --verbose | ||
|
|
||
| # Ensure benchmarks still compile | ||
| check-benches: | ||
| name: Check Benchmarks | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Test | ||
| run: cargo test --verbose | ||
| - uses: dtolnay/rust-toolchain@stable | ||
| - uses: swatinem/rust-cache@v2 | ||
| - name: Build benchmarks | ||
| run: cargo check --benches --all-features | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| name: Release-plz | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| id-token: write | ||
| contents: write | ||
| pull-requests: write | ||
|
|
||
| jobs: | ||
| release-plz: | ||
| name: Release-plz | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v6 | ||
| with: | ||
| fetch-depth: 0 | ||
| token: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - name: Install Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
|
|
||
| - name: Run release-plz | ||
| uses: MarcoIeni/release-plz-action@v0.5 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI workflow uses
actions/checkout@v6in some jobs (lines 18, 29) butactions/checkout@v4in others (lines 46, 57). This inconsistency should be resolved - all jobs should use the same version for consistency. Recommend using v6 consistently since it's used in earlier jobs.