• Kairos@lemmy.today
    link
    fedilink
    arrow-up
    21
    arrow-down
    1
    ·
    2 days ago

    This isn’t really true on modern systems anymore. Lower level languages like C and Rust are more or less just as performant as handmade assembly.

    • notabot@lemm.ee
      link
      fedilink
      arrow-up
      11
      ·
      2 days ago

      Sure, compilers have come a long way since then and there is vanishingly little you’d write in assembler now-a-days, and you’d probably drive yourself mad trying to do so on anything more complex than a microprocessor.

      • sunstoned@lemmus.org
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        2
        ·
        1 day ago

        No disrespect, but I love that folks from the UK always say “assembleuh” like they were on their way to saying “assembly” and got spooked halfway through

    • sugar_in_your_tea
      link
      fedilink
      arrow-up
      4
      ·
      1 day ago

      Yup. And our processors are a lot more powerful, so the tricks you’d do in assembly to eek out performance just don’t matter anymore.

      • mbfalzar@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        7
        ·
        1 day ago

        I know it’s a typo but “eek out performance” has made me picture someone programming a little ghost to spook the rest of the code into running faster

      • melpomenesclevage@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 day ago

        uh, well, im running like fifty things at once on all my devices, and except for the OS, all of them were coded with this design philosophy. I can definitely tell.

        on a commercial device, with everything live-snitching on me to fifty different people at once, computing actually appears to slow down over time.

        • sugar_in_your_tea
          link
          fedilink
          arrow-up
          2
          ·
          1 day ago

          That’s not because of hand-written assembly vs compilers, that’s because everyone and their dog wants abstractions up the wazoo. You have frameworks on top of frameworks, and no compiler can efficiently sift through that nonsense.

          I’d really like to see a shift back toward compiled languages like Rust to cut through the bloat.

          • melpomenesclevage@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            5
            ·
            1 day ago

            oh, no, I don’t think it’s the compilers’ fault, I think it’s the design philosophy of ‘fuck it, computers get faster, be a messy bitch, finish code fast.’ that’s fucking us.

            • sugar_in_your_tea
              link
              fedilink
              arrow-up
              3
              ·
              1 day ago

              Yup. I feel that so much at my day job. We use Python on our BE, and we have so much waste on top of that

              For example, we have some low level code for a simulation (not Python), and we ported it to Python, and we noticed the code spent a ton of its time doing bubble sort. So our Python implementation ended up being competitive by just making reasonable high level choices. We had a paginated sort + filter that loaded all possible records into RAM and did the logic in Python instead of SQL (fixing that dropped request time like 80% on larger queries).

              We have so much more crap like that, it’s not funny. But I’m ticking them off one by one by inflating my estimates a little to allow for refactors.

      • Kairos@lemmy.today
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Yes that’s what I was referring to.

        It’s some sort of out of order execution and branch prediction that does it. The thing you’re usually waiting on the most is IO.

    • easily3667@lemmus.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      If you need to precisely know exactly how many instructions are running in a loop (ie super duper embedded)