reedsolomon v0.0.4.0 Release Notes
Release Date: 2016-03-13 // about 8 years ago-
Highlights since version 0.0.3.0:
👍 SIMD support for ARM NEON and PowerPC AltiVec
⚡️ The Galois field multiplication code implemented in C to optimize these calculations compared to native Haskell functions used to provide a generic implementation, and SIMD implementations for Intel SSSE3, AVX and AVX2.
The generic implementation was supposed to work on non-Intel platforms, but is significantly slower than the SIMD versions. This version of the library is the first to contain SIMD versions of the code for non-Intel platforms:
- ARM NEON
- ⚡️ ARM NEON, optimized for AArch64 using
vqtbl1q_u8
- PowerPC AltiVec
- ⚡️ PowerPC AltiVec, optimized for POWER8 using
vec_vsrd
Note: The library is tested on these platforms only at the C level by running some tests using Qemu's platform emulation, which could not trigger certain bugs. If you want to use this library on a foreign platform, make sure to run the full (Haskell) test-suite on it.
0️⃣ Examples are no longer built and installed by default
🏗 When building the library (e.g. as a dependency of your application), the examples shipped with the library are no longer built and installed by default. Enable the Cabal
examples
flag to build and install them anyway.🔨 Extended
configure
checks and refactored C code🔨 The
configure
script has been extended, some bugs in it have been fixed, and the C code incbits
was refactored to make it simpler and more maintainable, and allow the C compiler to perform more optimizations.