fast reed solomon codes in GF2^8
  • C 90.2%
  • Perl 6.7%
  • Makefile 3.1%
Find a file
2026-07-18 07:38:39 -07:00
.github/workflows optimize ci and checkout to silence node warnings 2026-07-03 21:43:16 -07:00
deps/obl call __builtin_cpu_init for old gcc's 2026-07-18 07:38:39 -07:00
t Merge pull request #9 from sleepybishop/diet 2026-07-04 10:29:11 -07:00
.clang-format refactor 2022-01-09 13:23:18 -08:00
.gitignore introduce rs16_afft 2026-06-13 06:48:08 -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 skip autovectorization test on riscv 2026-06-28 11:00:43 -07:00
README.md update readme 2026-06-13 06:48:08 -07:00
rs.c fix msvc warnings 2026-07-04 10:29:42 -07:00
rs.h add msvc compiler support and fix stack overflows 2026-07-03 21:43:16 -07:00
rs16.c introduce rs16_afft 2026-06-13 06:48:08 -07:00
rs16.h add msvc compiler support and fix stack overflows 2026-07-03 21:43:16 -07:00
rs16_afft.c add msvc compiler support and fix stack overflows 2026-07-03 21:43:16 -07:00
rs16_afft.h introduce rs16_afft 2026-06-13 06:48:08 -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):62656272, 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 ReedSolomon Erasure Codes." IEEE Transactions on Information Theory, 62(11):62846299, 2016. ↩︎