Chapter 90. The “n Times Faster” Myth
I cringe every time I hear it. A vendor says that if you’ll upgrade to whatever it is that he’s selling, then all your programs will run n times faster.
They won’t.
You can hear it at the water cooler: “I heard we’re going to upgrade to disks that are ten times faster than the ones we have today. Can you imagine our TPS report running ten times faster?!” “I heard we’re going to upgrade to 1.5 times faster CPUs. Can you imagine PYUGEN running 1.5 times faster?!”
Oh boy. It’s just not going to happen that way. Here’s why. It’s two reasons.
First, almost no program spends 100% of its duration using one and only one resource. Such a program would have a one-line profile, and you just won’t see many of those. A program’s profile will almost always have at least two lines in it, and probably way more. But I need only two to prove my point. So, imagine a profile that looks like this—let’s call it the profile for program P1:
| Resource | Duration |
| A | 60 |
| other | 40 |
| Total (2) | 100 |
Then if you make resource A 2× faster, what happens to P1’s profile? This:
| Resource | Duration |
| A | 30 |
| other | 40 |
| Total (2) | 70 |
P1 will run about 1.4× faster.1
Making resource A 2× faster is not going to make the whole program 2× faster; it’s only going to make the resource A line in the profile 2× faster (from 60 to 30). The impact of the upgrade is going to be diluted by the fact that P1 uses more resources than just the one that was upgraded.
Now, for ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access