• Blaster M@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    ·
    15 days ago

    They’ll fix it… sounds like a skill issue, if base64 got fixed and performs better than c

    • chocrates@piefed.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      15 days ago

      I’ve heard that while Rust has the ability to be faster than Go and maybe C, it is a lot harder to write rust code to do it

      • trevor (he/they)@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        8
        ·
        edit-2
        15 days ago

        This is not true. If you know Rust and C equally well, you’re likely going to write equally performant Rust.

        You could say that Rust is harder to learn than C. I’d disagree based on my personal experience, but you wouldn’t be wrong.

      • ulterno@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        15 days ago

        Well, you need to type more and you need to learn more things with Rust, before you can start making stuff.
        But the additional work is to make it easier for you to make changes later, when you come back to it after a while.

        So you might need to do more before hello world, but say if you have a complex library and want to use some function of it after learning Rust, it will be easier to not make some common mistakes.

        A pretty good recent example of something that will cause a common mistake would be:
        In the mongoc library, there is a function named mongoc_client_select_server and the pointer it returns requires destruction using mongoc_server_description_destroy. But it doesn’t say so in the function’s comments/documentation. So, I had to go into the function called by the function called by the function called by it, to find the function making said pointer and having a comment stating that the pointer made by it would require destruction by the user.
        And the only reason I found that out was my obsession, but I had already made the mistake.

  • Luci@lemmy.ca
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    14 days ago

    Rust running slower than C?

    Never would have guessed……

    Edit: LMAO

        • trevor (he/they)@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          8
          ·
          15 days ago

          I have no idea how. I write better Rust than I do C 🤷‍♂️

          Rust and C are basically identical in terms of performance (more or less). Idk where the myth that Rust is somehow less performant than C came from.

        • LeFantome@programming.dev
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          15 days ago

          think it’s fair to say performance rust is hard to write

          This situation proved exactly the opposite.

          They wrote a utility to pass functional tests. It did. Then people said it was too slow. So, in just a few days or hours, they dramatically sped it up while still passing the tests.

          Seems like it was pretty easy to write fast Rust code in this case.

          • chocrates@piefed.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            14 days ago

            Fair point. I am mostly going on what I have seen others do on streams when comparing rust and go. Go seemed faster to get good performance and rust sometimes had to write a ton of code to get the same performance.

            I don’t know if you can selectively not use Go’s garbage collector, but that seems to be the only reason Go might be theoretically slower than rust.

    • LeFantome@programming.dev
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      15 days ago

      The best thing about all the C smugness here is how quickly it backfired.

      Out of dozens of utilities in uutils, two were slower than the GNU equivalents. In case the logic escapes some, that means that the others were already as fast or faster. Some are multiples faster. The overall uutils suite is faster then GNU Coreutils already and will only get better. There was nothing for C fans to be smug about to begin with.

      Of the two that were slower, it seems to have only taken a few days to make them faster. The article only tells us about one which is now 50% faster than the GNU version.

      But the promise of Rust is not that Rust is faster anyway. It is that it is easier and safer to refactor. The actual promise of Rust is that you can address issues like performance without as much fear that you will break everything.

      After the reported slowness, both of the two uutils implementations were dramatically sped up in just a couple of days or even hours. They are tested against the GNU test suite and so we know these tests are still passing. That is the promise of Rust. This example proves the Rust claims real. The C smugness did not age well.

      The C versions (GNU) can clearly be sped up as well. The question is who will do that and when. Because speeding up old C code is not nearly as easy or fun. My guess is that it is going to be more than a couple days before we see headlines bragging that GNU has caught up.

      The GNU Coreutils are maintained by Red Hat if we look at who contributes the code and who maintains the dev servers. They are professionally maintained. It is not a rag tag bunch of amateurs. So if uutils is already faster, it does not bode well for the C implementation.

      • Samueru_sama@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        14 days ago

        The overall uutils suite is faster then GNU Coreutils already and will only get better

        just did a quick benchmark.

        uutils cat is 2x slower.

        This is the unknown-linux-gnu release, the musl one is likely slower but didn’t check.