But admit this boost is only seen in ‘an obscure filter’.

  • masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    116
    ·
    6 days ago

    Just goes to show that when you work on a project that’s so fundamentally useful that it doesn’t require constant pivoting, you can not only address all your tech debt, but actually get around to those optimizations you brainstormed.

    • x00z@lemmy.world
      cake
      link
      fedilink
      English
      arrow-up
      14
      ·
      6 days ago

      “Almighty PM, I can write the cleanest and fastest of holy ASM. It will be the most glorious thing.”

      “Best I can do is another button.”

      • hisao@ani.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        That’s why one of the most common ways of dealing with tech debt is allocating time for it within other sometimes completely irrelevant stories. For management you can just say “oh I take a bit of extra time for tech debt there”, if they’re known to take that well, and if not, you don’t say anything at all. The ones who you should definitely tell all the details is your team lead / collegues. Like, “oh this is a mess I’ll take some time for refactoring/optimizing this next planning”, which often implies you allocate this time within other stories.

  • hisao@ani.social
    link
    fedilink
    English
    arrow-up
    39
    ·
    6 days ago

    AVX512, SIMD

    It’s not just “handwritten assembly”, it’s all intrinsics, again. The reason a lot of tech that needs to use fast matrix algebra (or fast numeric math in general) tries to use the same small set of libraries, tightly optimized to use those optimized instruction sets.

  • maniacalmanicmania@aussie.zone
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    4
    ·
    6 days ago

    What does ‘handwritten assembly code’ mean? I assume they’re not writing it in cursive. Apparently some code is compiler created so it sounds like this is a synonym for code written by a person? There must be a better term for describing this than ‘handwritten’.

    • orhtej2@eviltoast.org
      link
      fedilink
      English
      arrow-up
      106
      ·
      6 days ago

      It means someone wrote actual assembly code instead of writing C code and relying on the compiler to generare optimal assembly for them.

    • henfredemars@infosec.pub
      link
      fedilink
      English
      arrow-up
      18
      ·
      6 days ago

      Yes, I believe you understand correctly. The vast majority of all native code is written by other computer programs (compilers). Handwritten assembly code usually means code that was instead produced more directly by a human programmer, most probably with the help of an assembler rather than compiling from a higher-level language.

      • mkwt@lemmy.world
        link
        fedilink
        arrow-up
        17
        ·
        6 days ago

        As a more concrete example for people out there. C is an example of a “high level” programming language. In C you might write a statement like “int x = 3;”.

        “Assembly language” is a “human readable” representation of the instructions that are actually executed by your CPUs*. There is a different assembly language for each processor or processor family. Your desktop or laptop computer with an Intel or AMD chip, and in all likelihood execute the “x86_64” language. Meanwhile, your phone is probably on the “AArch64” language. An example of assembly language is “mov rax, #3”, which loads register rax with the value 3. Notice that we have dispensed with the niceties of variable names.

        Assembly language is “assembled” into the “machine language.”. To do this, the “human readable” mnemonics like “mov” are replaced with numbers called opcodes. The sequence of opcodes and arguments, like the number 3, are called the “machine code”, because the CPU silicon can read those numbers from memory and follow the instructions with no additional translation steps*.

        *Microcode throws a wrench here. Folks like Intel realized they could run things more efficiently if they translated each machine language instruction into simpler microcode instructions onboard the chip.

    • ExperimentalGuy@programming.dev
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      6 days ago

      Here’s an example of inline assembly in C++. You can write assembly inside your higher level code for performance optimizations to just doing really specific things that you can only really do at an assembly level. I’ve never done it before but it definitely is cool when people do it.

  • turdas@suppo.fi
    link
    fedilink
    arrow-up
    7
    ·
    6 days ago

    I wish they made a 100x leap to the AV1 encoder. Even on my 12900k it runs at like 0.001x real time, which is… well, unusably slow.

    • Comexs@lemmy.zip
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 days ago

      Are you using ‘libaom-av1’ or ‘libsvtav1’? Libaom-av1 is very known for being very slow.

      • turdas@suppo.fi
        link
        fedilink
        arrow-up
        4
        ·
        5 days ago

        I was under the impression that libsvtav1 was still underdeveloped, but turns out the ffmpeg documentation for it was just lacking. Looks to be pretty good quality and even supports two-pass (which the documentation doesn’t mention).