|
|
Why is today's software so damn slow?By James R. Twine (Copyright 2002, James R. Twine) When is the last time you heard someone say: "Wow! This computer is so fast I can hardly keep up with it!" Or are you more often hearing something like: "Damn, my computer is slow!" More like the second one, right? However, it is not the computer itself that is slow, it is the software running on it that is slow. If you take today's modern machines, and run Doom (for example) on them, Doom is going to run amazingly well. Why? Because Doom was (and still is) well-written software that took nothing for granted. Most software today does not. (OK, Doom is much less featured than today's games are, but what it did do it did quite well.) Lots of software developers have the idea that optimization and efficient programming practices are no longer required because of the speed of today's machines. That is the argument we have all heard about Java for several years. As history has shown us, it is a still a BS argument. Java is still considered slow (otherwise, no one would be trying to speed it up; i.e. things like HotSpot). People doing serious Java development tend to be using and deploying on some seriously BIG hardware to run it. And all in all, people still complain about it being slow. (If Java is supposed to run anywhere, why is it so often found running on big-metal Sun boxes?) So what happened to all this amazing computing power that we are supposed to have on our desktops? Lazy software development happened. When memory and speed were tight, developers took great care in how they managed memory and designed their code. Today, these things are taken for granted. Developers routinely abuse a system's memory and CPU. Having them develop and test code on top-of-the-line machines instead of the machines they are actually targeting does not help either. What I am going to do it identify some of the bad habits I see in software development today that I believe can have a negative impact on an application's performance.
|
|