Archive of https://github.com/sleepybishop/nanors — fast reed solomon codes
  • C 90.4%
  • Perl 6.4%
  • Makefile 3.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-10 08:54:57 -07:00
.github/workflows optimize ci and checkout to silence node warnings 2026-07-03 21:43:16 -07:00
deps/obl improve obl overflow checks, avx detection and remove atomics 2026-08-22 09:12:42 -07:00
t add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00
.clang-format refactor 2022-01-09 13:23:18 -08:00
.gitignore add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00
graph.png update README 2021-01-26 21:07:24 -08:00
LICENSE Create LICENSE 2021-01-25 18:43:34 -08:00
Makefile add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00
README.md update readme 2026-06-13 06:48:08 -07:00
rs.c add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00
rs.h add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00
rs16.c precompute rs16 gamma arrays and enforce api bounds 2026-08-22 09:12:42 -07:00
rs16.h add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00
rs16_afft.c precompute rs16 gamma arrays and enforce api bounds 2026-08-22 09:12:42 -07:00
rs16_afft.h add dispatch tests and clarify decode contracts 2026-10-10 08:54:57 -07:00

nanors CI

nanors is a tiny, performant implementation of reed solomon codes capable of reaching multi-gigabit speeds on a single core.

Codecs & Academic References

The library supports two distinct types of Reed-Solomon erasure coding implementations:

  • Cauchy Reed-Solomon 1 (rs.c, rs16.c)
  • Additive FFT Reed-Solomon 2 3 (rs16_afft.c)

Performance

Good performance is dependent on CPU acceleration, to this end native architecture is auto detected at runtime and an appropriate backend is used for the heavy math.

Benchmark

Use Cases

  • Applications with small data volumes and low latency requirements.
  • Storage applications, particularly if using a large block size.

Footnotes


  1. J. Blömer, M. Kalfane, R. Karp, M. Karpinski, M. Luby, and D. Zuckerman. "An XOR-based erasure-resilient coding scheme." ICSI Technical Report TR-95-048, 1995. ↩︎

  2. Shuhong Gao and Todd Mateer. "Additive Fast Fourier Transforms over Finite Fields." IEEE Transactions on Information Theory, 56(12):6265–6272, 2010. ↩︎

  3. Sian-Jheng Lin, Tareq Y. Al-Naffouri, Yunghsiang S. Han, and Wei-Ho Chung. "Novel Polynomial Basis with Fast Fourier Transform and Its Application to Reed–Solomon Erasure Codes." IEEE Transactions on Information Theory, 62(11):6284–6299, 2016. ↩︎