this post was submitted on 24 Jun 2024
770 points (100.0% liked)

Technology

70048 readers
3738 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 87 points 10 months ago (9 children)

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

[–] [email protected] 23 points 10 months ago (4 children)

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.

[–] [email protected] 5 points 10 months ago (2 children)

High quality content is the reason. Sit in a terminal and your memory usage will be low.

[–] [email protected] 17 points 10 months ago (1 children)

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

[–] [email protected] 3 points 10 months ago (5 children)

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.

[–] [email protected] 16 points 10 months ago (1 children)

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.

[–] [email protected] 2 points 10 months ago (11 children)

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.

[–] [email protected] 6 points 10 months ago (8 children)

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

load more comments (8 replies)
[–] [email protected] 3 points 10 months ago (4 children)

First of all, 350MB is a drop in a bucket

People don't run just a single app in their machines. If we triple ram usage of several apps, it results in a massive increase. That's how bloat happens, it's a cumulative increase on everything. If we analyze single cases, we could say that they're not that bad individually, but the end result is the necessity for a constant and fast increase in hardware resources.

load more comments (4 replies)
[–] [email protected] 2 points 10 months ago* (last edited 10 months ago) (2 children)

Just wanted to point out that the number 1 performance blocker in the CPU is memory. In the general case, if you're wasting memory, you're wasting CPU. These two things really cannot be talked about in isolation.

load more comments (2 replies)
load more comments (8 replies)
load more comments (4 replies)
[–] [email protected] 9 points 10 months ago (2 children)

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?

[–] [email protected] 8 points 10 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 4 points 10 months ago (1 children)

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.

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago) (1 children)

Yes, you wouldn't have 4K in 2002.

4GB today is nothing.

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
$ 
[–] [email protected] 3 points 10 months ago (1 children)

I can do a cold boot and show you empty RAM as well. So fucking what?

[–] [email protected] 3 points 10 months ago

It's not a cold boot and it's not empty.

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago)

I remember when I got my first computer with 1GB of RAM, where my previous computer had 64MB, later upgraded to 192MB. And there were only like 3 or 4 years in between them.

It was like: holy shit, now I can put all the things in RAM. I will never run out.

load more comments (2 replies)
[–] [email protected] 18 points 10 months ago (1 children)

I chalk it up to lazy rushed development. Good code is art.

[–] [email protected] 4 points 10 months ago (1 children)

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.

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago) (1 children)

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.

[–] [email protected] 2 points 10 months ago

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.

[–] [email protected] 12 points 10 months ago (2 children)

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"

[–] [email protected] 9 points 10 months ago

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.

[–] [email protected] 7 points 10 months ago

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.

[–] [email protected] 8 points 10 months ago (1 children)

Absolutely.

Bad, rushed software that wires together 200 different giant libraries just to use a fraction of them and then run it in a sandboxed container with three daemons it needs for some reason doesn't mean "8 Gb isn't enough", it means write tighter, better software.

[–] [email protected] 6 points 10 months ago (1 children)

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.

[–] [email protected] 2 points 10 months ago (6 children)

Just don’t compain that YouTube doesn’t play 4K videos anymore.

strange, mpv handles it just fine

load more comments (6 replies)
[–] [email protected] 6 points 10 months ago

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.

[–] [email protected] 4 points 10 months ago* (last edited 10 months ago) (1 children)

Guy from '95: "I bet it's lightning fast though..."

No dude. It peaks pretty soon. In my time, Microsoft is touting a chat program that starts in under 10 seconds. And they're genuinely proud of it.

load more comments (1 replies)
[–] [email protected] 4 points 10 months ago

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.

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

I once went for lower CAS timing 2x 128MB ram sticks (256 MB) instead of 2x 256s with slower speeds because I thought 512MB was insane overkill. Realized how wrong I was when trying to play Star Wars galaxies mmorpg when a lot of people were on the screen it started swapping to disk. Look up the specs for an IBM Aptiva, first computer my parents bought, and you'll understand how 512MB can seem like a lot.

Now my current computer has 64 GB (most gaming computers go for 32GB) at the time I built it. My workstation at work has 128GB which really isn't even enough for some workloads we have that use a lot of in-memory cache.. And large servers can have multiple TB of RAM. My mind has been blown multiple times.