#smoothing #time-series-analysis #visualization #signal-processing #fft #time-series-smoothing

asap-rs

Rust implementation of Automatic Smoothing for Attention Prioritization for Time Series

2 unstable releases

new 0.2.0 Apr 15, 2025
0.1.0 Sep 4, 2024

#505 in Algorithms

Download history 5/week @ 2025-01-31 2/week @ 2025-02-07 1/week @ 2025-02-21 3/week @ 2025-02-28 81/week @ 2025-04-11

81 downloads per month

MIT license

68KB
1K SLoC

asap-rs

crates.io License Rust

A Rust implementation of ASAP (Automatic Smoothing for Attention Prioritization), based on the paper "ASAP: Prioritizing Attention via Time Series Smoothing" learn more: source paper & js code:

This project provides a high-performance Rust implementation of the ASAP algorithm for time series smoothing. It aims to efficiently reduce complexity in time series data while preserving significant trends, optimized for visualization purposes.

asap

Usage

use asap_rs::smooth;
fn main() {
    // Example data
    let data = [1.0, 3.2, 2.0, 3.0, 4.0, 5.0, 4.0, 3.0, 2.0, 1.0];
    let resolution = 2;
    let smoothed_data = smooth(&data, resolution);
}

Rust vs JS Performance

🦀 Rust: 1.4776ms
🟨 JS: 8.96ms
  Data size: 500000
  Smoothed size: 25
  Original mean: 2499.97
  Smoothed mean: 2499.97

No runtime deps