News for hackers. Stuff that matters.
Re:Show HN: SIMD Viterbi Decoder in Rust by brian-armstrong on Wednesday August 05, 2026 @12:32AM (#49178583)
You could certainly call this crate through a shim in goestools but you'd have to add a Rust dependency. But you could also rewrite goestools in Rust, though it wouldn't be a small undertaking. This crate does have everything you'd need for the forward error correction, at least.
Re:Show HN: SIMD Viterbi Decoder in Rust by femto on Wednesday August 05, 2026 @04:50AM (#49180234)
How do you find the speed of the Rust version of your FEC vs, the C version?
Re:Show HN: SIMD Viterbi Decoder in Rust by johschmitz on Wednesday August 05, 2026 @06:43AM (#49180942)
Performance result are presented here as far as I understand: https://github.com/brian-armstrong/fec#performance
Re:Show HN: SIMD Viterbi Decoder in Rust by brian-armstrong on Wednesday August 05, 2026 @05:20AM (#49180437)
I used the benchmarking binaries that ship with libfec. My own crate has a libfec-compatible C shim, so I can link the benchmark against the Rust crate. The benchmark itself reports time spent for a given number of iterations, so the throughput can just be extrapolated from that.
Re:Show HN: SIMD Viterbi Decoder in Rust by femto on Wednesday August 05, 2026 @06:02AM (#49180659)
I got caught out by my Australianism!

"How do you find the speed of the Rust version of your FEC vs, the C version?"

translates from "Australian" to "English" as:

"What is the speed of the Rust version of your FEC vs, the C version?

Though it was interesting to know how you do it. I'm interested in the speed, as I once looked into using Rust for a signal processing project, but ultimately went with C++ because the team wasn't familiar with Rust. At the time, it seemed to me that Rust had the potential to go faster.

Re:Show HN: SIMD Viterbi Decoder in Rust by brian-armstrong on Wednesday August 05, 2026 @06:48AM (#49180980)
Oh! Gotcha! I put a table in the README that lays it all out https://github.com/brian-armstrong/fec#performance

tldr: My library matches or beats libfec's SSE2 assembly for convolutional codes and pretty steadily beats it in Reed-Solomon. For the convolutional codes, my crate is using a generic, templated decoder rather than hand-written assembly, so it was nice to see that I could match the performance.

Re:Show HN: SIMD Viterbi Decoder in Rust by femto on Wednesday August 05, 2026 @07:38AM (#49181416)
Nice! Thanks too for putting the work into this library.