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

  • @[email protected]
    link
    fedilink
    English
    1075 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.

    • @[email protected]
      link
      fedilink
      English
      145 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.”

      • @[email protected]
        link
        fedilink
        English
        15 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.

  • @[email protected]
    link
    fedilink
    English
    365 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.

  • @[email protected]
    link
    fedilink
    English
    176 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’.

    • @[email protected]
      link
      fedilink
      English
      1016 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.

    • @[email protected]
      link
      fedilink
      English
      165 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.

      • @[email protected]
        link
        fedilink
        165 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.

    • @[email protected]
      link
      fedilink
      125 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.

  • @[email protected]
    link
    fedilink
    76 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.

    • @[email protected]
      link
      fedilink
      English
      45 days ago

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

      • @[email protected]
        link
        fedilink
        45 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).