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.
"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."
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.
These guys are true assembly wizards
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.
They wrote it in hardware. Glad they still need people you do that at least.
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'.
It means someone wrote actual assembly code instead of writing C code and relying on the compiler to generare optimal assembly for them.
Thank you ๐
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.
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.
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.
Assembly pff...
The future is vibe coding! If it had been made with Claudepilot with the right types-question guy, it would be 10,000,000 times speedier.
Assembly Shudders
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.
Are you using 'libaom-av1' or 'libsvtav1'? Libaom-av1 is very known for being very slow.
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).
such a powerful tool
Opensource
A community for discussion about open source software! Ask questions, share knowledge, share news, or post interesting stuff related to it!
โ