ISA-L is a collection of optimized low-level functions targeting storage applications. ISA-L includes:
Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
CRC - Fast implementations of cyclic redundancy check. Six different polynomials supported.
iscsi32, ieee32, t10dif, ecma64, iso64, jones64.
Raid - calculate and operate on XOR and P+Q parity found in common RAID implementations.
Compression - Fast deflate-compatible data compression.
De-compression - Fast inflate-compatible data compression.
BSD 3-Clause "New" or "Revised" License.
According to https://github.com/catid/cm256
, ISA-L uses a O(N^3) Gaussian elimination solver for decoding. The CM256 decoder solves the linear system using a fast O(N^2) LDU-decomposition algorithm from "Pivoting and Backward Stability of Fast Algorithms for Solving Cauchy Linear Equations" (T. Boros, T. Kailath, V. Olshevsky), which was hand-optimized for memory accesses.
See also https://github.com/catid/leopard
for a fast O(N log(N)) RS erasure decoder.