14 ms·
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 ben
by brian-armstrong 2mo ago
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.
- femto 2mo 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 2mo 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 2mo agoNice! Thanks too for putting the work into this library.