• wim@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 year ago

    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.

    • allan@lemmyrs.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      The link to the original post had the original code referenced, it seems, and extremely misleading is a bit strong to me…

      I’m still boggled by just using idiomatic rust iterators giving multiple times performance. Then it quickly gets too golfy for real life, imo

      • wim@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        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.

      • snaggen@programming.devOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        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.

  • Aloso@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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.