A response to the blog post "{n} times faster than C". Our final program achieved a speedup of 128x (36 GiB/s throughput) by reformulating the problem and leveraging SIMD intrinsics.
The title is extremely misleading. They're comparing a Rust program using SIMD intrinsics to a Rust program which doesn't, without even using auto vectorization to let the driver look for SIMD opportunities.
This is a good example of why SIMD is useful and how fast it can be, but it is not an example of how Rust is faster than C or how humans are smarter than compilers. It doesn't even have a C reference source to compare to at all.
The original post made a valid point. This one makes a point as well, but representing it as "128x faster than C" is plain clickbait.
It's not comparing the same type of program. If it used intrinsics in C (they exist, it's where most other languages leverage their intrinsic support from), or even turned on GCC or LLVM auto vectorization to compare performance, I'd be willing to let it go, but right now it's just misrepresenting reality in that title.
We don't need this kind of hyperbole or clickbait. We're better than that as a community. I don't mean this as "article bad! author bad!", this article is useful, but it would be much better of titled something like "Speeding up string search 128x by using SIMD intrinsics in Rust", which gets the point across and the 128x number would still attract enough attention, but for the right reasons.
This post seems to have taken the title from a previous post that this is built upon. So that is probably why the title gets a bit confusing when viewed standalone.
The reddit thread has some interesting discussion, and a solution using no SIMD intrinsincs that is more than 200x faster, by using .chunks_exact(), and letting the compiler auto-vectorize it.