How much memory modern system needs

When I was thinking about a new PC in 2018, one of the decisions I had to make was how much memory I need. And that time I decided that 16 Gb is enough, and I didn’t see any reason why I should buy more. And my choice was correct.

But now I see a very good reason to increase my memory size in my next build and that reason is simple – browsers. Let me explain. For example, I have Firefox with 4 windows and around 10 tabs each. And that consumed 6.5 Gb in Firefox. And very often I can open much more, when I research some problem, or when I would like to buy something.

And I’m not opening anything tricky like online games, 3D editing, or anything else that is quite heavy on the browser. I open regular websites without anything exotic. No videos, most of them without big pictures or animation. Amazon, HP, search results from Google, and similar.

And it is not Firefox's fault. Similar memory consumption was observed in Edge. It is only slightly better because I set up quite an aggressive sleep policy. Tabs are unloaded from memory almost instantly and that allows consume less memory. But even with only a couple of tabs active, Edge consumes 1.6 Gb of memory.

Unfortunately, Firefox does not have this quite useful feature but still, this feature is only helping masking problems. The main reason is that website developers are just lazy, loading one Java framework on top of another and so on. And very often developers are loading one library because of a single function. Sometimes developers found that some Java script library is not even used.

Let’s take for example the web page for FedEx. This is a relatively simple page that displays the delivery progress of your package. It is pretty much a static page. Let’s analyze how much a web browser will download. And it turns out that a simple page downloading almost 4 Mb. Almost 2 Mb are scripts. Does this page really require that much code?

Next is fonts. That page loads 10 different font files. The total size is about 1.5 Mb just to display text in a slightly different font from the standard one. Does this page really need so many fonts? Is it really worth downloading 1.5 Mb for each visitor of that page? And keep in mind, this is probably the most visited page on that website, and yet it is quite inefficient.

The next page is HP’s returns and exchanges page. Very simple and kind of static page too. And there is almost the same picture: megabytes of scripts, and custom fonts. All that effort for a simple page that explains returns and exchanges.

I understand that very often all web pages are using the unified system and they all look the same, and as a result, even a simple page requires a lot of downloading. But as I said before, is it really necessary to do it for all pages?

As you can see, website developers are not really paying attention to optimization because it is not easy to identify which website consumes more memory and in general it looks like nobody cares. And corporations are paying a lot of money for traffic that could be easily avoided. And with time that trend will become even worse.

The next big reason is mobile games. I, like many other people play games on my phone. And sometimes I would like to run them on my PC to avoid discharging my device when I’m on PC anyway. Usually, it could be done via Bluestack software or something similar.

The idea behind that they create a virtual machine that allows running Android and any software in it including games. But this virtual machine consumes around 3 Gb of memory. In some cases, I would like to run 2 or sometimes even 3 copies. As a result, 16 Gb is clearly not enough.

Another kind of virtual machine is Windows Sandbox. It is quite nice technology, and it also creates a virtual machine and sometimes I do quite a lot in it. Installing heavy applications, running them, etc. And as a result, it also consumes sizeable chunks of memory.

Lastly, when I was working with Unreal, I clearly saw that compilation is suffering because there is not much free memory and the compiler starts only 2-3 parallel compiling processes instead of 5-6. And as a result, I have to wait longer. My project wasn’t big to make it substantial difference but clearly that I don’t have enough memory.

As a result, I think that the modern system needs at least 32 Gb of memory. Perhaps I may even buy 64 Gb depending on the price. It is not likely that we will have a new memory standard in a few years, so it will be useful in any case.

I hope it will help someone.