<story><title>Reed-Solomon coder computing one million ECC blocks at 1 GB/s</title><url>https://github.com/Bulat-Ziganshin/FastECC</url></story><parent_chain></parent_chain><comment><author>nemo1618</author><text>We&amp;#x27;ve been using klauspost&amp;#x27;s Golang reedsolomon package in our distributed storage package. It runs approximately as fast (~1GB) because the hot paths are written in asm: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;klauspost&amp;#x2F;reedsolomon&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;klauspost&amp;#x2F;reedsolomon&lt;/a&gt;&lt;p&gt;Erasure codes are pretty magical.</text></comment>
<story><title>Reed-Solomon coder computing one million ECC blocks at 1 GB/s</title><url>https://github.com/Bulat-Ziganshin/FastECC</url></story><parent_chain></parent_chain><comment><author>planteen</author><text>I&amp;#x27;ve implemented a Reed-Solomon encoder for telemetry blocks over a RF channel. There, I was using a (255, 223) code on GF(2^8). There were interleaving parameters for a telemetry &amp;quot;packet&amp;quot; but each encoding took constant O(1) time. So the overall time to encode a downlink was just O(N). What exactly is meant by &amp;quot;Reed-Solomon ECC&amp;quot;? I&amp;#x27;m guessing the code is doing something different related to data storage than what a traditional communications RS code does?</text></comment>