7 ms·
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
by brian-armstrong 1mo ago
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.
- femto 1mo agoHow do you find the speed of the Rust version of your FEC vs, the C version?
- brian-armstrong 1mo agoI 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.
- femto 1mo agoI 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.
- brian-armstrong 1mo agoOh! Gotcha! I put a table in the README that lays it all out https://github.com/brian-armstrong/fec#performance 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.
- femto 1mo agoNice! Thanks too for putting the work into this library.
- johschmitz 1mo agoPerformance result are presented here as far as I understand: https://github.com/brian-armstrong/fec#performance https://github.com/brian-armstrong/fec#performance