ulagbulag / sas

Salty and Sweet one-line Rust Runtime Optimization Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SAS

SAS logo

SAS crate SAS documentation

SAS (Salty-And-Sweet) is an one-line Rust runtime optimization library.

Features

  • NUMA-aware 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

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 and LICENSE-MIT for details. Opening a pull request is assumed to signal agreement with these licensing terms.

About

Salty and Sweet one-line Rust Runtime Optimization Library

License:Apache License 2.0


Languages

Language:Rust 100.0%