There were a number of exciting announcements from Apple at WWDC 2024, from macOS Sequoia to Apple Intelligence. However, a subtle addition to Xcode 16 — the development environment for Apple platforms, like iOS and macOS — is a feature called Predictive Code Completion. Unfortunately, if you bought into Apple’s claim that 8GB of unified memory was enough for base-model Apple silicon Macs, you won’t be able to use it. There’s a memory requirement for Predictive Code Completion in Xcode 16, and it’s the closest thing we’ll get from Apple to an admission that 8GB of memory isn’t really enough for a new Mac in 2024.
imagine showing this post to someone in 1995
shit has gotten too bloated these days. i mean even in my head 8GB still sounds like ‘a lot’ of RAM and 16GB feels extravagant
I still can’t fully accept that 1GB is not normal, 2GB is not very good, and 4GB is not all you ever gonna need.
If only it got bloated for some good reasons.
High quality content is the reason. Sit in a terminal and your memory usage will be low.
256MB or 512MB was fine for high-quality content in 2002, what was that then.
Suppose the amount of pixels and everything quadrupled - OK, then 2GB it is.
But 4GB being not enough? Do you realize what 4GB is?
They didn’t just quadruple. They’re orders of magnitude higher these days. So content is a real thing.
But that’s not what’s actually being discussed here, memory usage these days is much more of a problem caused by bad practices rather than just content.
I know. BTW, if something is done in an order of magnitude less efficient way than it could and it did, one might consider it a result of intentional policy aimed at neutering development. Just not clear whose. There are fewer corporations affecting this than big governments, and those are capable of reaching consensus from time to time. So not a conspiracy theory.
One frame for a 4K monitor takes 33MB of memory. You need three of them for triple buffering used back in 2002, so half of your 256MB went to simply displaying a bloody UI. But there’s more! Today we’re using viewport composition, so the more apps you run, the more memory you need just to display the UI. Now this is what OS will use to render the final result, but your app will use additional memory for high res icons, fonts, photos, videos, etc. 4GB today is nothing.
I can tell you an anecdote. My partner was making a set of photo collages, about 7 art works to be printed in large format (think 5m+ per side). So 7 photo collages with source material saved on an external drive took 500 gigs. Tell me more about 256MB, lol.
Yes, you wouldn’t have 4K in 2002.
My normal usage would be kinda strained with it, but possible.
$ free -h total used free shared buff/cache available Mem: 17Gi 3,1Gi 11Gi 322Mi 3,0Gi 14Gi Swap: 2,0Gi 0B 2,0Gi $
I can do a cold boot and show you empty RAM as well. So fucking what?
It’s not a cold boot and it’s not empty.
So we’re just going to ignore stuff like Electron, unoptimized assets, etc… Basically every other known problem… Yeah let’s just ignore all that
Is Electron that bad? Really? I have Slack open right now with two servers and it takes around 350MB of RAM. Not that bad, considering that every other colleague thinks that posting dumb shit GIFs into work chats is cool. That’s definitely nowhere close to Firefox, Chrome and WebStorm eating multiple gigs each.
Yes, it really is that bad. 350 MBs of RAM for something that could otherwise have taken less than 100? That isn’t bad to you? And also, it’s not just RAM. It’s every resource, including CPU, which is especially bad with Electron.
I don’t really mind Electron myself because I have enough resources. But pretending the lack of optimization isn’t a real problem is just not right.
First of all, 350MB is a drop in a bucket. But what’s more important is performance, because it affects things like power consumption, carbon emissions, etc. I’d rather see Slack “eating” one gig of RAM and running smoothly on a single E core below boost clocks with pretty much zero CPU use. That’s the whole point of having fast memory - so you can cache and pre-render as much as possible and leave it rest statically in memory.
CPU usage is famously terrible with Electron, which i also pointed out in the comment you’re replying to. But yes, having multiple chromium instances running for each “app” is terrible
No, it’s not.
When (according to about:unloads) my average firefox tab is 70-230MB depending on what it is and how old the tab is (youtube tabs for example bloat up the longer they are open), a chat app using over 350 is a pretty big deal
just checked, my firefox is using 4.5gb of RAM, while telegram is using 2.3, while minimized to the system tray, granted Telegram doesnt use electron, but this is a trend across lots of programs and Electron is a big enough offender I avoid apps using it. When I get off shift I can launch discord and check it too, but it is usually bad enough I close it entirely when not in use
Telegram is using only 66 megs here. Again - it’s about content.
I chalk it up to lazy rushed development. Good code is art.
That’s not true at all. The code doesn’t take much space. The content does. Your high quality high res photos, 4K HDR videos, lossless 96kHz audio, etc.
But there are lots of shortcuts now. Asset packs and coding environments that come bundled with all kinds of things you don’t need. People import packages that consume a lot of space to use one tiny piece of it.
To be clear, I’m not talking about videos and images. You’d have these either way.
All these packages don’t take much memory. Also tree shaking is a thing. For example, one of the projects I currently work on has over 5 gigs of dependencies, but once I compile it for production, the whole code based is mere 3 megs and that’s including inlined styles and icons. The code itself is pretty much non-existent.
On the other hand I have 100KB of text translations just for the English language alone. Because there’s shit loads of text. And over 100MB of images, which are part of the build. And then there’s a remote storage with gigabytes of documents.
Even if I double the code base by copy pasting it will be a drop in a bucket.
I have a VPS that uses 1GB of RAM, it has 6-7 apps running in docker containers which isn’t the most ram efficient method of running apps.
A light OS really helps, plus the most used app that uses a lot of RAM actually reduce their consumption if needed, but use more when memory is free, the web browser. On one computer I have chrome running with some hundreds of MB used, instead of the usual GBs because RAM is running out.
So it appears that memory is full,but you can actually have a bit more memory available that is “hidden”
Same here. When idle, the apps basically consume nothing. If they are just a webserver that calls to some PHP script, it basically takes no RAM at all when idle, and some RAM when actually used.
Websites and phone apps are such an unoptimized pieces if garbage that they are the sole reason for high RAM requirements. Also lots of background bloatware.
This is resource reservation, it happens at an OS level. If chrome is using what appears to be alot of ram, it will be freed up once either the OS or another application requires it.
It just exists so that an application knows that if it needs that resource it can use X amount for now.
You can always switch to a text based terminal and free up your memory. Just don’t compain that YouTube doesn’t play 4K videos anymore.
You just have to watch your favorite tablet get slower year after year to understand that a lot of this is artificial. They could make applications that don’t need those resources but would never do so.
We measure success by how many GB’s we have consumed when the only keys depressed from power on to desktop is our password. This shit right here is the real issue.