RAM Doesn’t Make Your Computer Faster
Addressing Common Technology Myths, Part I: How to Explain RAM and Computer Performance Speed to “Technophobes”
I’m taking a much needed break from talking about Computer Vision to address a misconception about RAM that still get’s passed around today.
I remember when I was younger I would hear this axiom:
“If your computer is slow, just add more RAM!”- Almost every sales associate at MicroCenter or Best Buy
This lead to a general belief among the masses that you could keep your 10 year-old Dell running and relevant by JUST increasing the RAM. This is not true. Adding more RAM does not make a faster computer. It also is not a way to undo the damage to old tech by the ravages of time.
To many of you this is a no brainer. So why should you bother reading this? Maybe you’re like me and have family and friends that are a little “technophobic” and the second you start explaining how it really works, you get this reaction:
(Not gonna lie, I get this way when I read scholarly articles about Data Science)
Today, we’re going to break concepts down so that anyone can understand them. Let’s get started!
What is Defines a Computer’s “Speed”?
This is a complex question. A computer’s overall performance speed is a relationship between the computer processor and the amount RAM the computer has, as well as the hard drive. That’s already too much techno-babble! So we’ll explain what this means with an analogy.
Let’s say that you want to put together a puzzle. Like most people, you start by sorting all of the pieces and finding the edge pieces first.
For the sake of the argument, we’ll say that the normal human can sort through 20 puzzle pieces and find all of the edge-pieces in 30 seconds. Also, let’s agree that sorting 20 pieces is all a person can handle mentally at any one time. Any more and they’ll get a big headache.
Now, for some reason, you’re sorting a these pieces at a very small accent table, like the one below.
The accent table that you’re sorting at can only hold a 10 pieces. From experience, you’ve learned that, no matter how many handfuls you sort, it takes an additional 5 seconds to gracefully take the edge-pieces and add them to an “edge” pile, pour the rest of the pieces into a “non-edge” pile, and add a new selection of pieces to the table. Again, it takes 5 seconds to do this whether you’re sorting 10 or 20 pieces. It’s a constant.
Since your table can only hold 10 pieces (half of your maximum capability) it takes you 20 seconds to sort, separate, clear the table, and add new pieces; 15 seconds to sort a single handful, plus the extra 5 seconds. This means that it takes 40 seconds to sort 20 pieces.
You decide that since you’re working with half of what you’re capable of, you’ll just get a table that can hold twice as many pieces. Doing this you’ve noticed that it now takes 35 seconds to sift through 20 pieces! You’ve shaved off 5 seconds! You begin to think, “If doubling the size of the table took 5 seconds off, then doubling again should make sorting go even faster!”
Following this logic, you go get a table that is quadruple the size of your original table. You have enough space for 40 pieces, but remember, you can only sort 20 pieces at a time, or you’ll get a massive migraine and have to stop. Therefore, you only work with half of the available pieces. As a result, it still takes you 35 seconds to sift through one batch.
What went wrong? Changing tables the first time made the process faster, didn’t it? No! It only made it more efficient.
What Does This Have to Do With Computers?
In this example, you are the computer processor. You have specific limitations to how many items your can process and sort through and a certain speed at which you can perform the task. The RAM, then, is the table. The hard disk could technically be the box that the puzzle came in (or even the closet that you store all of you puzzles in), but that’s not important right now.
Going back to the analogy, at the beginning of the analogy, you (the processor) had too little resources (RAM) to work at your full potential. You increased the table size to fix this (increasing the RAM available). This resulted is processing time to decrease because you’re now working at full capacity. This is how the myth of “More RAM = More Speed” began. People had computers with CPUs that could process more items than the RAM could hold. Increasing the available RAM made the computer more efficient by utilizing more of the processor’s capabilities. This increased the computer’s overall performance speed, but it did not change the computer’s processing speed.
You might be wondering what the difference is between “performance” and “processing” speed. Performance speed is how long it takes to perform a task. In our puzzle analogy, it’s how long it takes to collect pieces from the box, put them on the table, find and separate the edge pieces into a different pile, pour the remaining pieces into the “non-piece” pile, and collect new pieces to sort. In our example, the maximum puzzle sorting performance speed is 35 seconds per 20 pieces.
Processing speed is what people actually think of when they think of speed. It’s defined by how much data (puzzle pieces) the CPU can process and how quickly it can actually process them. Going back to the analogy, the processing speed is how many pieces you can sort at a single time and how fast you can sort them. Your max processing speed is 15 seconds per 10 pieces and a limit to 20 pieces at a time, totaling in a minimum of 30 seconds (we’re not including the time to clear the table and collect 20 pieces because that’s not part of the processing, or sorting, task.). This is why switching to the even bigger table didn’t result in an increase in performance speed. The amount of pieces the table can hold doesn’t matter if you can’t decrease the time it takes to sort through them all.
So where does the hard drive come to play in all of this? The hard drive is where all of the information is stored. When you run a program (pick a puzzle to make), the data stored on the hard disk (the pieces) gets loaded into RAM (or put on the table). Why can’t we just run it all from the hard drive? Why do we need RAM? Well, if we could bypass the RAM, I’d imagine this would be the equivalent of pouring all of the pieces of your entire collection of puzzles on the floor and then trying to make specific puzzle out of the pile. There just isn’t a processor around that can keep track of all of that and it’s horribly inefficient.
Now, you can increase performance speed a little by defragging the hard drive. This is like organizing and pre-sorting the puzzle pieces by edges, colors, and shapes. This reduces the amount of sorting you would have to do by hand. We’ll still have some trouble when it comes to how some colors could appear in multiple places of the full puzzle, but it’s at least all organized.
Another way that the hard drive can increase the performance speed is by switching from a standard optical drive (which uses a laser to read information on a spinning disk like a CD Player) to a Solid State Drive (essentially a high capacity SD card with additional functions like running an operating system). This is like the puzzle box being pre-sorted into bags that hold exactly two handfuls and are labeled by edges and specific sections of the puzzle (e.g. “Edges”, “Upper-left 1, “Upper-Left 2”, “Top-Center-Left”, etc.). Essentially, the box would be so organized that finding the right pieces is less of a chore. This way all of the pieces go from the box (hard drive) to the table (RAM) in a quick and organized manner.
That’s about the extent of what you can do with hard drives (that I can think of). It’s important, but plays a much smaller role in the overall scheme of computer performance speed (with the exception of Solid State Drives).
What If I Change Processors?
Good question! It’s also has a somewhat complex answer because of the different kinds of processors out there. Let’s go back to our analogy. It’s just you, the puzzle, and a table that holds twice as many pieces than you can sort at a single time. There are two ways you can go about increasing your processing speed. You can either improve your own skill or you can invite a friend over.
Let’s say you improve your skill. This is like buying an updated version of your current processor. We’ll say that after an afternoon of watching YouTube videos on puzzle speedrun techniques, you’ve managed to decrease your “processing” time from 15 seconds per 10 pieces to 10 seconds. So now a single iteration of 20 pieces is 25 seconds (20 for finding the edges, plus the 5 to separate and collect 20 new pieces to sift through). You’ve increased the processing speed more than you could have ever hoped to by just increasing the table size. There is still a problem, though. The table can hold 40 pieces, but you are still only working on 20 at a time!
You decide that getting a bigger table won’t do anything. So you call your friend and teach them the same speedrun techniques you learned. Since they will be working concurrently with you, you’ve doubled the processing power. Together, you’re capable of sorting and collecting 40 pieces at a time and performing it in 25 seconds! Essentially, you’ve become a “Multi-core processor”. These are processors that are made up of smaller processors, called “cores”. Tasks are broken up and performed across many cores. This drastically reduces the amount of time needed to process the data which allows you to utilize as much of your RAM as possible.
Now what happens if you both go back and work on the table that only holds 20 pieces? Well, either your friend will have nothing to do, or you will both only be working at half of your full capacity!
We talked about a lot of things but the key take away is that maximizing your computer’s performance is a balancing act. If you’re processor is too weak, then adding RAM won’t speed it up. Likewise, if you have very little RAM, increasing CPUs processing power will not only be expensive, but you computer will never be as fast as it could be. By balancing processing power and amount of computer memory, you can maximize the computer’s performance.