Hacker News new | ask | show | jobs
by VancouverMan 590 days ago
> Pricewise, things start favoring PCs if you need more RAM, as Mac upgrades are costly.

That's the position I'm in, along with some other people I've talked to recently, too.

For our situations, the M4 would likely offer more than enough processing power, and the efficiency and physical size are attractive, but a maximum of 32 GB of RAM definitely isn't sufficient.

The M4 Pro's 64 GB of RAM is somewhat better, but the cost of those upgrades are very hard to justify.

I'd also prefer to use the system for at least 5 years, and likely up to 10 years, if not longer. Even if 64 GB is tolerable now, I can easily see it becoming insufficient for my needs before then.

The lack of reasonably-priced internal storage, while easier to work around than the lack of sufficient and reasonably-priced RAM, doesn't help matters, too.

Even if future Studio models, for example, might allow for a more ideal amount of RAM, I have to expect that unjustifiable upgrade costs will likely still be an issue, and then there's the wait on top of that.

I can easily see myself and the others I've talked to settling for PCs, rather than making unjustifiably-expensive Mac purchases.

2 comments

In same boat, I have the 5950x with 64gb memory running PopOS and there are times I'm hitting swap a lot more than I'd like. 16 or 32gb of memory is just not feasible, and even 2TB of storage would likely cause headaches, I have a 4TB and a 2TB nvme at the moment which will come with me next upgrade.

I'm leaning towards an upgrade next year to the 9950x3d if reviews pan out. Sure, it's going to be a bigger machine with louder components, but the upgrade will likely be half the cost of anything close from Apple since I can take my existing GPU, PSU and storage at the very least along with me.

And "upgrade costs" is highly misleading for most of the components. You are buying a different machine config that you can't change, up or down, later on. I get that most people don't want to bother opening up a PC to swap out components, but the easier they made it, the more people will do it, and Apple is running the other way.

Does your existing motherboard allow for more than 64GB ram? The 5950x itself supports up to 128GB: https://en.wikichip.org/wiki/amd/ryzen_9/5950x
Mine doesn't but yes I could move to a mATX or bigger board to unlock that extending its life. I tend to go for the 'smaller' ITX cases and boards, so currently have a x570-i setup maxing out at 64GB.
For storage at least, you can pop your existing nvme drive into a thunderbolt enclosure and use it on a mac mini. Over TB4, it should run at the drive's full speed (so long as you get a decent enclosure).

It won't help the RAM situation, but storage at least is upgradable like that.

Be careful to check the support for larger ram on the motherboard as well as cpu - I’ve got an am5 setup with 128gb of ram but the it had to be down locked to even post.
Memory usage is not comparable across Linux and Mac. MacOS is much better at avoiding swap, uses memory compression, shared frameworks etc. At the same time it tries to use all the memory available which makes direct system-wide comparisons not accurate. A good rule of thumb is that 8GB on Mac == 16GB on Windows/Linux.
Compared to Linux that's flat not true. Someone has been blowing marketing up your ...
As a person who uses both, daily, its kinda true.

MacOS does seem to “use all the ram” but never falls over itself.

I think the kernel is likely genuinely better in low memory conditions (its hard to be worse than Linux here to be honest) - and thats combined with being aggressive about using as much of the ram as there is available opportunistically. (not fully unloading applications when closing them for example).

“WindowServer” uses 2-3G of ram, and electron apps use lots too; but truthfully my macbook is able to sustain significantly more open programs than my linux laptop, despite my linux laptop actually having more memory. (32G vs 24G for the Mac).

I cant explain it and I am genuinely curious how this is the case, but at least anecdotally, parent is more correct than not.

You can also compress memory on Linux with zswap or zram.
For what it's worth, the apple silicon machines are much more efficient on RAM than most - a 16gb m1 absolutely mops the floor with the 32gb of ram I have in my thinkpad with an i7. It's not really even close.
Your comment might win you the argument on a random non tech forum but not here.

much more efficient in what? mops the floor by what? which year's i7?

Don't get me wrong, I 100% believe what happened, but if you mean "my macbook is faster than my i7 thinkpad" you should use those exact words, but not bring RAM into this discussion. If you want to make a point about RAM, you need to be clear about what workflow you were measuring, the methodology you were using, and what the exact result is. Otherwise your words have no meaning.

Repeating what I just commented elsewhere, but Mac uses several advanced memory management features: apps can share read-only memory for common frameworks, it will compress memory instead of paging out, better memory allocation, less fragmentation.

Bandwidth for copying things into memory is also vastly faster than what you get on Intel/AMD, for example on the Max chips you get 800GB/s which is the rough equivalent of 16 channels of DDR5-6400, something simply not available in consumer hardware. You can get 8 channels with AMD Epyc, but the motherboard for that alone will cost more than a Mac mini.

Sharing read-only/executable memory and compressed memory are also done on Windows 10+ and modern Linux distributions. No idea what "better memory allocation" and "less fragmentation" are.

800GB/s is a theoretical maximum but you wouldn't be able to use all of it from the CPU or even the GPU.

https://www.anandtech.com/show/17024/apple-m1-max-performanc...

>apps can share read-only memory for common frameworks

How is that different from plain shared libraries?

System design and stability. On MacOS a lot is shared between applications compared to the average Linux app. Dynamic linking has fallen out of favor in Linux recently [1], and the fragmentation in the ecosystem means apps have to deal with different GUI libraries, system lib versions etc, whereas on Mac you can safely target a minimum OS version when using system frameworks. Apps will also rarely use third party replacements as the provides libraries cover everything [2], from audio to image manipulation and ML.

[1] https://lore.kernel.org/lkml/CAHk-=whs8QZf3YnifdLv57+FhBi5_W...

[2] https://developer.apple.com/library/archive/documentation/Ma...

People who need 64GB+ RAM are not running 1000 instances of native Apple apps. They run docker, VMs, they run AI models, compile huge projects, they run demanding graphics applications or IntelliJ on huge projects. Rich system libraries are irrelevant in these cases.
I can run apps with 4 distinct toolkits on Linux and memory usage will barely go past the memory usage of opening one Facebook or Instagram tab in a browser. Compared to compiling a single semi-large source file with -fsanitize=addresses which can cause one single instance of GCC or Clang to easily go past 5G of memory usage no matter the operating system...
I'm talking about memory bandwidth - maybe your workloads don't take advantage of that but most do and that's why apple designed their new chips to take advantage of it.
Bandwidth doesn't replace size, these are orthogonal parameters.
I never said it did.
So why are you commenting in a thread about size?
With what kind of workload? If you need 32GB of RAM then the computer that actually has that much RAM should be almost guaranteed to be quicker.
Video Editing. Backend and Frontend development utilizing docker containers. Just browsing the web with tons of tabs. Streaming video while doing other stuff in the background. Honestly most things I'd rather do on my M1.
So probably nothing that actually needs more than 16GB of RAM then. And realistically comparing M1 to an i7 several years older than it.

Having more RAM doesn't increase memory bandwidth and having more memory bandwidth doesn't necessarily mean better performance. You aren't even able to make use of all of the bandwidth your M1 is capable of in the real world [1].

Apple Silicon has good perf/watt but the gap probably isn't as big as you're thinking.

[1] https://www.anandtech.com/show/17024/apple-m1-max-performanc...

When did I say having more RAM increased memory bandwidth? Are you having a separate conversation with yourself right now? I feel like you might have misinterpreted what I originally said and just ran with it.
There is a lot of misleading information about Apple's unified memory out there so I mentioned it just to be clear.
I have a M2 pro with 32G and I hit memory limits just from web browsing.
Not sure what you mean by 'efficient', they are faster for sure (amazing memory bandwidth thanks to on chip memory), but to my knowledge they would be the same for amount of data stored. So that same think pad will likely be faster at tasks that need 24GB for example, highly depend on the use case as always.
Memory requirements for general-purpose desktop usage usually don't come down to a single task with a large working set that needs to fit in RAM in its entirety. It's more often a matter of the aggregate memory usage of many tasks, which means that in practice there's a wide gray area where the OS can make a difference, depending on the effectiveness of its memory compression, swap, signalling memory pressure to applications, suspending background tasks or simply having fewer of them in the first place.
Good points well made, macOS likely is more 'memory efficient' in that regards.
I just struggle to believe this. What OS is the Thinkpad running and did you put everything there (i.e., no corporate crud?).
I run Ubuntu on my Thinkpad - I generally notice the biggest difference with video editing, but really multitasking anything is night and day because of the memory bandwidth. I use the same software on both machines for video editing, Davinci Resolve.