Ask HN: Is 16GB enough for Software Engineering (M1 13“ MacBook Pro)?
Apparently, the M1 chip does not support mort than 16GB or memory. https://www.theverge.com/2020/11/10/21559200/apple-m1-macbook-pro-mac-mini-16gb-ram-memory-limit
Nowadays Google Chrome, VS Code, Slack and Notion are now eating 90% of the memory of my 16GB MacBook Pro. One reason to switch to a new laptop would be to upgrade to 32GB. This won't be possible for now with M1 macs.
What do you guys think? Is 16GB reasonable today for average Software Engineering work?
This seemed to me like a nice question for HN (Mac and Electron apps ranting welcome)
36 comments
[ 2.9 ms ] story [ 72.5 ms ] threadhttps://imgur.com/a/iKSVDGk
For comparison, I have exactly the same MBP mid 2014 15" with 16GB.
As I type I have Slack, IntelliJ (with large Scala project), VSCode, Spotify and Chrome with plenty tabs open, and sitting comfortably at ~7 GB.
On the other hand, if you want to make iPhone apps, you'd probably want more, as Xcode for e.g. is a resource hog.
In several jobs in recent years I've also had to develop on very resource heavy Java applications which absolutely cripple my MacBook Pro 16GB when running a browser with several tabs open, Spotify, an IDE (sometimes two), Teams, Slack, and occasionally a VM for testing.
Granted this isn't a typical workload, but I'm frustrated enough that I have been waiting all year for this new lineup of 13" MacBook Pros (although I was hoping for a 14" model honestly) so I could finally upgrade to 32GBs.
I also assumed that 16GB would have been minimum amount of RAM Apple would ship in a professional laptop released at the end of 2020, yet they seem to believe there are some professional users who can get by with just 8GB just fine which confuses me even more than the 16GB limit.
It's also worth noting that the upgrade to 16GB is $200. That's $200 for 8GB of RAM! I know this isn't out of the ordinary for Apple, but that's just an outrageous price for what should be included in the base model anyway.
So yeah, I'm pretty disappointed. I was almost certain I would be buying a new MacBook Pro yesterday, but as it stands I really have no reason to upgrade from my 2016 model.
On the flip side, I've got 16 gb and when I've checked I don't think I've ever been using half of that. There's definitely scenarios where it could happen, but for general programming on non gigantic problems 16gb is plenty.
RAM is also less important these days with fast SSDs. With a spinning disk having to read a file was a performance killer. But SSDs have very high throughput and having to use the page file isn't as big of a deal as it once was.
I have gotten OOMs when working on the Scala project though, which to me is one more reason not to use Scala.
Yes, I know the above quote was not actually stated by Gates or was misinterpreted, but the reason that it became so infamous is pretty much the same case as this. It's the short sightedness of the thing. (or in this case, perhaps a marketing trick as they now have a great "now supports up to 32 or 64GB" tagline for their 2021 model that will drive another must-upgrade rush)
It's pretty ridiculous to release a "latest and greatest" generation of any computer in 2020 with a hard 16GB limit. Sure, it's most likely enough for general usage and diehard Apple fans will buy that thing in droves and then spend countless hours debating it and justifying the buy, but as already stated by other commenters, there are many reasons to need more RAM and I suspect it will be a deal breaker for a lot of potential buyers, especially developers and designers. There are many things that benefit of more ram, large or complex ide's, virtual machines, game development, sound design, video editing, 3d rendering, and just plain old multitasking.
So, in my opinion, no, it's not reasonable for Software Engineering work unless you upgrade machines very frequently, and even then, I wouldn't really go for it, not only because of the RAM issue, but also the novelty of the entire system.
However I need to be careful, For example I started using Tabnine recently and the memory usage per instance of vscode is way too high and I need to think about closing unused instances of vscode.
I'm considering to test Github Codespaces so I get a fast environment in the cloud. But the ram amount is only 8GB max and since it probably runs on Azure the IOs performances will likely be awful. But it may be great and then 16GB on a laptop to run many instances of Electron is a lot more than enough.
But if I were to buy a new laptop tomorrow, I would like to get at least 32GB and a touchscreen. So no MacBook pro for me.
Also consider carefully whether the software you work on is fully compatible with Arm (e.g using x86 VMs).
If you can hold on for now I would do that and make a decision when you have more information.
For me 16Gb would not be enough. But it depends on type of work and your worflows (editor/tooling) you use.