NeaTS is a learned compressor for time series providing, simultaneously, compression ratios close to or better than the best existing compressors, a faster decompression speed, and orders of magnitude more efficient random access.
- 🧩 Piecewise nonlinear approximations
- 🚀 Efficient random access and range queries without full decompression
- 🧠 SIMD-accelerated decompression (AVX2/AVX-512)
- 📉 Lossless and lossy modes
- C++23 compatible compiler (e.g., GCC ≥ 13 or Clang ≥ 16)
- CMake ≥ 3.22
- SDSL-lite
- Squash 0.7+ (required for benchmarking)
git clone https://github.com/and-gue/NeaTS.git
cd NeaTS
mkdir build && cd build
cmake ..
make -j$(nproc)
| Binary | Description |
|---|---|
DecompressorSIMD |
Runs NeaTS for compression ratio, decompression, random access |
NeaTSL |
Evaluates lossy compression and compares with PLA/AA models |
Benchmark |
Runs benchmarking suite (requires Squash) |
./DecompressorSIMD path/to/data.bin <bpc>
- data.bin — Binary file of 64-bit signed integers
<bpc>— Maximum residual (size in bits)
The datasets used in the paper are available at this link: NeaTS Datasets
If you use NeaTS for research, please cite:
@inproceedings{guerra2025neats,
author = {Guerra, Andrea and Vinciguerra, Giorgio and Boffa, Antonio and Ferragina, Paolo},
title = {Learned Compression of Nonlinear Time Series with Random Access},
booktitle = {2025 IEEE 41st International Conference on Data Engineering (ICDE)},
year = {2025},
pages = {1579--1592},
doi = {10.1109/ICDE65448.2025.00122}
}
This project is released for academic purposes under the terms of the GNU General Public License v3.0.