Bulat-Ziganshin/FastECC

Alternatives to FastECC

Opened this issue · 5 comments

It's permanent topic for discussion and comparison of other ECC libraries.

Fast GF(256) libraries with O(N2) speed:

  • ISA-L: hands-down optimized asm code for SSSE3, AVX2 and AVX512. No support for non-x86 and pre-SSSE3 architectures
  • CM256: fast SSSE3 and plain C implementations

Fast O(N) LDPC algorithm:

I will add more libraries and comparison later...

catid commented

I released a new library here recently that is also not MDS: https://github.com/catid/fecal
The idea is to precompute some sums and combine them in deterministic ways (described somewhat in readme). It really shines as a convolutional code for real-time streaming data (and there's a library for that use case here: http://github.com/catid/siamese ), but I found it to be much faster than e.g. CM256 and more flexible, so people may prefer it for apps.

https://github.com/klauspost/reedsolomon ?

it's 8-bit RS coder, you should compare speeds to ISA-L and CM256. Probably they are the same since arithmetic is well-established

Around Gf(2^16) RS there is https://github.com/catid/leopard and the rust implementation of it in https://github.com/w3f/rs-ec-perf

1f604 commented

Hi, I believe ISA-L also supports aarch64 now