4 ms·
> Look, most modern software is spending 99.9% of the time waiting for user input If that's true, why does it take forever to load and frequently fail to keep
by AnIdiotOnTheNet 4y ago
> Look, most modern software is spending 99.9% of the time waiting for user input
If that's true, why does it take forever to load and frequently fail to keep up with my input?
- chpatrick 4y agoOften it's because of bad (quadratic) algorithms, not because the code isn't micro-optimized. For example: https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/ https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times...
- AnIdiotOnTheNet 4y agoIt isn't about "micro-optimization", that's just what bad developers use as an excuse for never caring at all about performance. Casey uses the term "depessimization" to describe the process of making a program not run like shit. Modern computers are ludicrously fast, and modern developers have somehow managed to make them slow. Regardless, these programs should be spending 99% of their time waiting for user input, but instead they're working data through a mountain of abstraction layers on the faulty assumption that it is a) saving developers' time, and 2) that that is worth much more than user time.
- loup-vaillant 4y agohttps://www.lesswrong.com/tag/scope-insensitivity https://www.lesswrong.com/tag/scope-insensitivity Emotionally we have no idea how bad it is to waste as little as a few seconds per day for millions of users. It's just a few seconds, right? We're just forgetting to multiply those seconds by the number of users.
- morelisp 4y agoAccidentally super-linear algorithms happen a lot more when you hide stuff behind three layers of interfaces rather than seeing "oh, this uses a list instead of a set".
- jstimpfle 4y agoTrue story. And after taking a couple jobs optimizing some messy software modules I've learned to not take those jobs anymore. The only things you can do is throw the crap out of the window and to start afresh with a clean understanding of what we want to achieve. A simple and straightforward solution without BS abstractions is not only much faster but also much less bug-ridden.