Today’s CPUs are hundreds of times faster than those in 2005. Yet word processors still take a few seconds to open, and web browsers still use up a few GB of RAM. What happened?
When resources are cheap, people tend to waste them.
When RAM is expensive, programmers count every byte. When RAM is cheap, optimizing memory usage is no longer worth the effort compared to developing new features. This is a reasonable economic choice for each team, but when added up, it results in bloated software.
Multiple overlapping layers of abstraction
A modern desktop application might look like this: a streamlined web interface running in a browser, bundled with a JavaScript runtime, which calls native libraries, and then the operating system. Each layer has its purpose—usually to allow developers to write code once and run it on multiple platforms—but each layer takes its own share of the load.
Measure Before You Blame
The feeling of "slowness" usually stems from latency rather than throughput. Users can tolerate programs that take a long time to calculate, but they really hate it when the interface freezes for half a second after they click a button.
- Less than 100 ms — instant response
- About 1 second — still smooth but noticeable delay
- Over 10 seconds — users leave to do something else
What You Can Do
For users: Choose lightweight tools for your daily tasks, and don’t let software run in the background if you only open it once a month. For software developers: Measure latency in the most frequently repeated user actions, optimize specifically there, and leave the rest alone.
Thảo luận