Skip to content
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

WIP: Significantly reduce allocations #13

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4586d21
Significantly reduce allocations
nessex Jan 30, 2024
165ddbd
Restore correct version of arbitrary-chunks
nessex Jan 30, 2024
efecead
Remove unused features of Count
nessex Jan 30, 2024
28170aa
Fix lsb_sort level skip on already_sorted counts
nessex Feb 2, 2024
966e80e
Faster default implementations of RadixKey
nessex Feb 4, 2024
8d2ab55
Use temporary buffers copied from source rather than uninitialized bu…
nessex Feb 5, 2024
2ee4670
Formatting & remove random extern
nessex Feb 5, 2024
e454bd2
Clean up dependencies and speed up benchmark compilation
nessex Feb 5, 2024
d2d2696
Optimize count_into
nessex Feb 5, 2024
d8500f0
Fix count_into
nessex Feb 5, 2024
4a5f169
Simplify flag spaghetti for running tests, benchmarks etc.
nessex Feb 8, 2025
cd2ff08
Bump [email protected]
nessex Feb 8, 2025
923e93c
Remove internal features profiling and timings
nessex Feb 8, 2025
010b304
Tidy up .gitignore
nessex Feb 8, 2025
ddaacdb
Remove unused cfg
nessex Feb 8, 2025
671faf3
Add gh actions for running examples, fixtures and scripts
nessex Feb 8, 2025
b7da6c6
Run cargo fmt
nessex Feb 8, 2025
22e7fe9
Apply clippy suggestions
nessex Feb 8, 2025
3a80615
Add nightly toolchain for script tests in CI
nessex Feb 8, 2025
04861c2
Return counts even when already sorted
nessex Feb 8, 2025
c5d4ad7
Use single algo in test suites for each algorithm
nessex Feb 8, 2025
ab6e218
Add missing level check to mt-oop
nessex Feb 8, 2025
2c15b87
Use opt-level 2 for tests
nessex Feb 8, 2025
48ddb3e
Run cargo fmt
nessex Feb 8, 2025
5cfdc61
Account for threads being interrupted while holding shared tmp buffers
nessex Feb 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 47 additions & 2 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install nightly toolchain with clippy available
uses: actions-rs/toolchain@v1
with:
Expand All @@ -35,6 +35,51 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run tests
run: cargo test --verbose --release

test-fixture:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run fixture
working-directory: fixture
run: cargo run --release

test-profiling:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: Run profiling script
run: ./scripts/profiling.rs

test-timings:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: Run timings script
run: ./scripts/timings.rs 1234 "Hello world"

test-examples:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run simple_usage
run: cargo run --example simple_usage
- name: Run single_threaded
run: cargo run --example single_threaded
- name: Run custom_tuner
run: cargo run --example custom_tuner
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
target/
Cargo.lock
monte-carlo.tsv
experiments.csv
.idea
.jj/
fixture/Cargo.lock
160 changes: 3 additions & 157 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading