Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

One LOESS to Rule Them All: Rebuilding a Classic Smoother in Rust

Description and use

A Rust LOESS implementation that matches R’s loess numerically, offers many more options, and is up to 236× faster.

Problem

Existing LOESS implementations are legacy, limited in features, and hard to extend or optimize.

Outcome

The Rust implementation matches R’s loess to within 1e-12, offers a richer feature set, and is dramatically faster (47× serial, 236× parallel).

Workflow

  • Validate against R’s loess to ensure numerical equivalence (max diff <1e-12).
  • Design the core as a layered, modular architecture with swappable components.
  • Implement performance optimizations: parallelism via fastLoess and SIMD via wide crate.
  • Create bindings for R, Python, Julia, Node.js, WebAssembly, C++, Go, and Java so all ecosystems use the same engine.
  • Publish benchmarks and CI checks against R’s loess.

Evidence

The project validates against R's loess, and the README reports a maximum difference below 1e-12 across the test scenarios.

Source

On the project's benchmark harness against R's stats::loess, the README reports roughly 47x in serial mode and 236x in parallel mode.

Source

  • Record date: 2026-10-10T23:41:59.225Z