Hacker News new | past | comments | ask | show | jobs | submit login
x86 and x86_64 software optimization resources (agner.org)
95 points by HaoZeke on April 14, 2024 | hide | past | favorite | 10 comments



This is still one of the most trusted sources for low-level optimization!

uops.info is also very handy for x86 ( https://uops.info/table_overview.html ).

But if you are just starting, those may be a bit overwhelming. In that case, check out the official intrinsics guides for x86 from Intel ( https://software.intel.com/sites/landingpage/IntrinsicsGuide... ) and a separate one for Arm ( https://developer.arm.com/architectures/instruction-sets/int... )


I should point out that this has been posted [1], but not for the past half decade, long enough to need another PSA :)

[1] https://hn.algolia.com/?q=https%3A%2F%2Fagner.org%2Foptimize...


Wrong sorting. It gets posted much more often; for example: https://news.ycombinator.com/item?id=36905443


Too bad most people use Javascript frameworks for desktop development.


I'd say this resource is more aimed at the developers writing the stuff on the other side of the APIs a typical desktop application calls.

Not that I'm in favour of developing desktop applications in JavaScript or anything. I don't really think those are a great idea. It's just that there's a lot of intermediate steps between "let's use JavaScript" and "let's worry about using the best x86 opcodes" which are perhaps more sensible than either extreme.


The software people enjoy using is typically written in C++, Rust, or Swift.

Nobody writes desktop software in a GC'd language that doesn't suffer from noticeable performance issues. There's a reason why people bitch about e.g., Microsoft Teams, and it has a lot to do with language choice.


Garbage collected languages are fine for the desktop, there's plenty of software written in C# or Java that performs perfectly fine. It's mostly the web stack that tends to be bloated and slow.


Name me a C# or Java desktop program that doesn't have annoying GC pauses or stutters. Name me a C# or Java desktop program that isn't bloated and slow compared to the equivalent C++ program.

Programmers choose GC languages because it's what they want, not what users want.


Maptool is written in Java and it runs as fast as anything else I use.


It may help improve the code which runs that Javascript though.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: