https://github.com/ulagbulag/sas
Salty and Sweet one-line Rust Runtime Optimization Library
https://github.com/ulagbulag/sas
concurrency kiss-principle parallel-computing parallisation rust
Last synced: 6 months ago
JSON representation
Salty and Sweet one-line Rust Runtime Optimization Library
- Host: GitHub
- URL: https://github.com/ulagbulag/sas
- Owner: ulagbulag
- License: apache-2.0
- Created: 2024-02-04T14:03:09.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-09T05:34:46.000Z (over 1 year ago)
- Last Synced: 2024-12-18T12:02:50.603Z (10 months ago)
- Topics: concurrency, kiss-principle, parallel-computing, parallisation, rust
- Language: Rust
- Homepage:
- Size: 153 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# SAS
[](https://crates.io/crates/sas)
[](https://crates.io/crates/sas)
[](https://docs.rs/sas)SAS (Salty-And-Sweet) is an one-line Rust runtime optimization library.
## Features
- NUMA-aware [`rayon`](https://docs.rs/rayon): `numa` feature should be enabled
- If you have 1 NUMA nodes, you can experience about 20% performance improvements if the tasks are completed at approximately equal times.
- If you have 2+ NUMA nodes, you can experience extreme performance improvements.## Install
### Simple one-shot mode
```rust
fn main() {
// That's end!
sas::init();// ... your heavy works
}
```### Advanced mode
TBD
## Benchmarks
This sections describes the benchmark results. It uses default package features (zero-touch).
Note that the benchmark metrics are sensitive to process, so please benchmark **each metric separately!**
The lower elapsed time is the better.
| Machine | OS (in Docker) | Kernel | Metric | Elapsed time (OFF) | Elapsed time (ON) | Performance Boost |
| ------------ | -------------- | ---------------------------- | --------- | --------------------------------- | --------------------------- | ----------------- |
| NVIDIA DGX-2 | Ubuntu 22.04 | 5.14.0-284.11.1.el9_2.x86_64 | rayon_sum | 5,175,824 ns/iter (+/- 2,767,386) | 247,236 ns/iter (+/- 6,151) | 20.93x |## License
SAS is distributed under the terms of both the MIT license and the
Apache License (Version 2.0). See [LICENSE-APACHE](LICENSE-APACHE) and
[LICENSE-MIT](LICENSE-MIT) for details. Opening a pull request is
assumed to signal agreement with these licensing terms.