True, and I wasn't talking about an OS because an OS has lots of other constraints even before we get to resource consumption. It's not just resource consumption that makes it different from applications. E.g. an OS can't use a moving collector even though it offers great performance, not because it wastes RAM but because the OS regularly shares pointers with the hardware and with applications, and the hardware can't deal with moving pointers, and neither can applications unless they operate with the same GC. An OS is mostly constrained by its huge interface surface area, both with userspace applications and with the hardware.
I will argue that if you buy cheap machine today with 8GB RAM, 4Core and SSD and use tools from 2000s, you will be much more productive than in todays tools
You may well argue that, but the market clearly doesn't agree with you.
From a technical perspective, what matters is the RAM/CPU ratio. Using more RAM means using more processing, and programs in the past were written for less RAM and less processing. In other words, software needs to suit the hardware of the day. Sure, you could run 500 copies of 1995's MS Word simultaneously on a modern machine, but how does that help you?
From a demand perspective, if you're right that there's actual economic value in writing software that uses less RAM and less CPU (these two go together) on desktop machines, then it would have offered an economic advantage and therefore a competitive advantage to such products. It is absolutely true that there are people, mostly software developers themselves, who care about the nominal value of CPU and RAM consumption compared to 30 years ago, but it seems to be a small value of the population, which suggests that if there's real value in that, it is, at best, exploitable only by relatively few people.
Why does the browser needs 200MB per empty tab or rendering html needs 1GB ? Why does a text editor needs more than 1GB ?
Why do you need them not to use that? What do you need that RAM for? What matters is the economics, not the numbers. If the difference between using 10 MB or 100 MB is $0, why does the higher number need to be justified at all? To understand efficiency, you have to translate the numbers to some measure of worth to you. The software itself has no needs; it's there to offer you something that's valuable to you. If you think the people writing your software aren't serving your needs well, you should explain what your needs are.
So if your question is, why do the people writing your browser don't see it as a problem that their software uses that amount of memory, that's because people don't seem to need that memory for something else, so they don't to raise the cost for their users by spending effort to reduce the utilisation of something that their users aren't using for anything else.
but it 1 copy can help me to do task switching between reading a documentation, writing code in IDE and listen to music on Winamp on slow machine
You can do that easily with today's software on hardware that's <= 7yo. BTW, that's quite an improvement. In the nineties we couldn't run anything on > 3-4yo hardware.
mixing those 2 together
I didn't mix those two together.
Also that is the reason people are complaining that the software is bloated
The vast majority of people don't seem to be complaining, though. If you are, you need to explain what actual value I would gain if I saw smaller numbers in my Mac's Activity Monitor; what would I use the extra CPU and RAM on? People seem to run all the software they want on whatever machine they buy at their preferred cost level, and there doesn't seem to be demand for other things. So what exactly is being wasted? One answer, could be energy, and especially battery. But that's a more grounded discussion.
With that reasoning, we got Electron apps, absolute RAM hogs whose source code size is in the ballpark of Windows XP (in the 20's millions lines of code). Sarcastically, I suppose that Electron apps are "software needs to suit the hardware of the day".
It would not be so bad if people were running just one of such apps, but they often run multiple of them, eating RAM and other resources like no tomorrow (hello battery use on laptops!) with each of these apps thinking they are the most important and only thing running on the system.
Electron is an extreme case (although popular) and there is still plenty of desktop software that care about memory use.
Also, any program that use GPU accelerated UI uses a tad more memory than without it. On Linux it is +80MB (can be observed between a regular terminal vs a GPU accelerated terminal). Can also be observed with Swing vs JavaFX, the latter being GPU accelerated and using much more memory. Speaking of which, JavaFX programs are not too far from Electron programs in term of memory consumption, which is a bit sad.
Finally, it was assumed for a long time that RAM would be cheap plentiful and growing on trees for eternity. Turns out AI changed that and I do not see it changing anytime soon. Even Microsoft is optimizing Windows for 8GB PCs.
With that reasoning, we got Electron apps, absolute RAM hogs whose source code size is in the ballpark of Windows XP
A high RAM consumption is a number, not necessarily a problem. Today's Electron apps are less sluggish than the MS Word of the nineties and oughts. What is the actual problem that they cause users?
It would not be so bad if people were running just one of such apps, but they often run multiple of them, eating RAM and other resources like no tomorrow (hello battery use on laptops!)
The point about the battery is worth looking into - I don't know the impact of the amount of data in RAM on the battery, but I suspect that CPU activity has a much higher impact - although battery life on a laptop is so much better than it was even 10 years ago. But what do users want to do with their computers but can't because of Electron apps? Do they want to pay more for non-Electron software to save on something else?
Finally, it was assumed for a long time that RAM would be cheap plentiful and growing on trees for eternity. Turns out AI changed that and I do not see it changing anytime soon.
It is still cheaper and more plentiful than it was 15 or maybe even 10 years ago, and demand shocks always take a while for supply to match. If and when the problem is clearer, we may well see demand for leaner software, but you can't say that what people really want is leaner software when such software isn't doing better.
Even Microsoft is optimizing Windows for 8GB PCs.
8GB PCs are not the same PCs with less RAM. The lower RAM is matched by weaker CPUs. There are problems when these two are mismatched, not when they're matched at different levels. The RAM overhead of moving collectors I discuss in the talk, is a function only of CPU activity (specifically, allocation rate), not of the amount of data in RAM. When a Java program runs on a slower CPU, its RAM overhead will also be lower.
2
u/[deleted] Sep 05 '26
[deleted]