{"repo":"templexxx/reedsolomon","free":true,"listed":false,"github":"https://github.com/templexxx/reedsolomon","clone":"git clone https://github.com/templexxx/reedsolomon.git","description":"Reed-Solomon Erasure Code engine in Go, could more than 15GB/s per core","language":"Go","stars":301,"topics":["erasure-codes","simd","golang","reed-solomon"],"license":"MIT","category":"dev-tools","readme_excerpt":"reedsolomon A high-performance, systematic Reed-Solomon erasure coding engine in pure Go. This repository focuses on two goals: - mathematically sound coding over GF(2^8) - low-latency, high-throughput implementation for storage systems Why This Library - Pure Go implementation with optional AVX2 acceleration on x86. - Systematic code layout: original data vectors are embedded directly in the output stripe. - Cauchy-based encoding matrix with invertibility proof included in this repo. - Production-oriented APIs: Encode , Reconst , Update , and Replace . - Extensive tests for finite-field arithmetic, matrix operations, and end-to-end correctness. Install Quick Start API Overview - Encode(vects [][]byte) - Generates parity vectors from data vectors. - Reconst(vects [][]byte, survived []int, needReconst []int) - Reconstructs missing data/parity vectors from surviving vectors. - Update(oldData, newData []byte, row int, parity [][]byte) - Incrementally updates parity when one data vector changes. - Replace(data [][]byte, replaceRows []int, parity [][]byte) - Efficiently updates parity for replacing multiple data rows. Mathematical Foundation - Field: GF(2^8) - Primitive polynomial: x^8 + x^4 + x^3 + x^2 + 1 ( 0x1d ) - Encoding matrix: - upper part is identity matrix (systematic form) - lower part is Cauchy matrix - Invertibility proof for reconstruction matrix: - proof invertible.md Reference tools in this repo: - Galois-field table generator: mathtool/gentbls/gentbls.go - Inverti","default_branch":null,"files":null,"tree":[],"storefront":"/r/templexxx","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/templexxx/reedsolomon/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}