Getting some down votes, which I attribute to reasonable skepticism, so hopefully this will allay your concerns.
Such as?
I haven't seen a modern computer struggle with that kind of workload before.
With Firefox and auto tab suspend (addon), it's manageable.
My desktop is an ML container train/test machine. I also have ssh into two similar machines, and a 5 machine, 20GPU k8s cluster. I pretty much continuously have dozens of things building /running at once.
Maybe I'm an outlier though?
On my particular team we also run a dockerfile that includes elastic search, sql server, rabbitmq and consul—-I had to upgrade my work laptop from 16GB to 24GB to make it livable.
Though truth is that I use zram, which everyone should who is not fortunate enough to have plenty of RAM, but does have a decent CPU.
If you're on macOS, there's no such thing as a “lightweight Docker container”. The container itself might be small, but Docker itself is running a full Linux virtual machine. In no world is that “lightweight”.
I do most of my development in Chrome, bash, and sublime text and I'm still using 28GB of RAM.
10 klocs is huge for a student project but tiny for a real-world project.
The Apple stack is better optimized to take advantage of the hardware they have. Indeed, one of the reasons is because they have so few SKUs to worry about it focuses the engineering team (for example, in the past, internally engineers would complain about architectural design missteps that couldn’t be fixed because 32bit support wasn’t dropped yet and was pushed out yet another year). Now, obviously in a laptop use-case this is trickier since the source code is the same as the x86 version. It’s possible that the ARM code generation was much more space efficient (using -Oz instead of previously likely set at -O3). It’s also possible that they have migrated over to iOS frameworks in an even greater part than they were able to in the past, leveraging RAM optimizations that hadn’t been ported to macos). There could also be RAM usage optimizations baked around knowing you will always have a blazing fast NVME drive. Now you may not even need to keep data cached around and can just load straight from disk. Sure, not all workloads might fit (and if running x86 emulation the RAM hit might be worse). For a lot of use cases though, even many dev ones, it’s clearly enough. I wouldn’t be surprised if Apple used telemetry to make an intelligent bet around the amount of RAM they’d need.
I didn't claim it was all that matters, and I haven't seen anyone else do that either.
I do take the point of the rest of your comment though, and it may well be the case that Apple does some clever stuff. But realistically there is only so far that optimisations can take it - DDR4 is DDR4, and it's the workload that makes the most difference.
> I wouldn’t be surprised if Apple used telemetry to make an intelligent bet around the amount of RAM they’d need.
Your average Apple user is likely not a developer though (as others are very often pointing out on HN, whenever they make non-dev-friendly hardware choices). Furthermore, I would think such telemetry would be a self-fulfilling prophecy; if you have a pitiful 8GB of RAM, you're not going to punish yourself by trying to run workloads you know it wouldn't support.
Except the M1 is a novel UMA architecture where the GPU & CPU share RAM. There's all sorts of architectural improvements you get out of that where you can void memory transfers wholesale. There's no "texture upload" phase & reading back data from the GPU is just as fast as sending data to the GPU. Wouldn't surprise me if they leveraged that heavily to get improvements across the SW stack. The CPU cache architecture also plays a big role in the actual performance of your RAM. Although admittedly maybe the M1 doesn't have any special sauce here that I've seen, just responding to your claim that "DDR4 is DDR4" (relatedly, DDR4 comes in different speeds SKUs).
> Your average Apple user is likely not a developer though (as others are very often pointing out on HN, whenever they make non-dev-friendly hardware choices). Furthermore, I would think such telemetry would be a self-fulfilling prophecy; if you have a pitiful 8GB of RAM, you're not going to punish yourself by trying to run workloads you know it wouldn't support.
No one is going to model things as "well users aren't using that much yet". You're going to look at RAM usage growth in the past 12 years & blend that with known industry movements to get a prediction of where you'll need to target. It's also important to remember that RAM isn't free (not looking at the $). I don't know if it matters as much for laptop use-cases as much but for mobile phones you 100% care about having as little RAM as you can get away with on your system since it dominates your idle power. For laptop/iMac use-cases I would imagine they're more concerned with heat dissipation since this RAM is part of the CPU package. RAM size does matter for the iPad's battery life & I bet the limited number of configs has to do with making sure they only have to build a limited set of M1 SKUs that they can shove into almost all devices to really crank down the per-unit costs of these "accessory" product lines (accessory in the sense of their volumes are a fraction of what even AirPods ships).
I also shut down at the end of the day and make judicious use of browser history and bookmarks. If I were compiling binaries regularly I guess I could see the use in having more ram but as far as I’m concerned 8 is enough and so far people find what I put out perform at.
In my experience as a web dev, all the performance goes out the window as soon as the tracking scripts are added.
It may not be with fewer and less heavy dependencies!
It's still not comparable with your average developer tooling in terms of footprint, was my point.
PMs and executives are the ones you should give slow machines to if you want more focus on performance.
- 16GB MBP (Intel, not M1) - Running MacVim w/ coc.vim & coc-tsserver (so it's running partial TS compiles on save, much like VSCode)
- One image running in Docker
- Slack, Zoom (at idle), Safari (with a handful of tabs), and Mail.app running as well
Per Activity Monitor, 8.97GB of 16.00GB is used with 4.97GB marked as "Cached Files" and another 2.04GB of swap used.
Apple collects a lot of metrics and I’m sure they know this well.
Flagship iPhones always have less ram than flagship androids, but match or exceed their performance.
Most business users were fine with 4GB 5-6 years ago. Electron apps like Teams and Slack pushed it up to 8. The next tier are folks with IDEs, docker, etc that are usually 16-32GB.
What on earth are you programming?
Earth. He is programming the earth.
I'm asking because I read a lot of comments when it was released that it just doesn't need as much RAM because $REASONS. I wouldn't put my money on this, but I'm curious if this assumption holds water now that people have had time to try it out.
Edit: there are such comments further down the thread where it seems to still be a mystery: https://news.ycombinator.com/item?id=26913643
So I'd really like to know where this magic breaks down: if you're used to 128GB or RAM, will the M1 feel sluggish?
AAA gamedev might be the wrong demographic though, since it's mostly done on Windows (I think?).
128gb is likely overkill, but I can see a use case depending on what you're doing.
When the M1 first came out I was super super skeptical, seemed like an under powered chip compared to what's in the x86 world.
Now I'm convinced that it's got some magic inside it. Everyone I've talked to said it chews throw whatever they throw at it.
I'm consistently floored by Apple's ability to innovate.
Perhaps more than any other Apple innovation, we have the greatest visibility into the process with the M1.
Like Jobs said in his Stanford speech, “You can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future.”
It seems like Apple uniquely combines open development of technology in known products with secrecy around new product development.
This allows people to be so surprised by the M1, when the late AX processors were obviously pointing toward massive capability.
I believe there are other examples of this happening--specifically with the Apple Watch.
On that product, the size limitations combined with increasing expectations of performance and functionality have allowed Apple learn and improve production-capability in many areas that will be in any forthcoming AR/VR products.
Sort of like when people compare nm of processes on the chips. You can't just say "oh, their number is smaller, it must be better."
To be sure a device with 16GB of M1 RAM should be more competent than 8GB of M1 RAM, but now that's apples to apples.
Go on... What’s the nature of this great difference?
I wonder if the memory performance should be so surprising. Because haven't people been bemoaning the "low" amount of ram in iPhone / iPad?
iPhone had 4GB on XS, and 11. And only went to 6GB on the Pro models. Yet the performance and benchmarking on these devices has seemed to garner praise with each successive generation.
https://www.macrumors.com/2020/10/14/how-much-ram-iphone-12-...
I've tried to look up what this difference might be, but all I've found is a hand-wavey answer about it being an SOC. If someone can ELI5 then I'd be super appreciative.
Sure, when/if I upgrade I’d go for 16GB of memory, but one should be careful about projecting ones own needs onto other.
I have been working on a TVOS app, and it works fine, but there is some waiting involved.
I can't even remember a time when just my web browser used up less than 4-5 GB of RAM, on its own.
Add at least 500MB - 1 GB for the OS itself, and we're talking about 2 - 3.5GB for apps. I'd immediately swap with just 8GB of RAM with an IDE and a DB running.
Perfectly fine on its own screen though, the dual-core in mine just isn't up to the task of a 4k external monitor.
The plain fabulous joke is that we've spent 30 years thinking that increasing cores and increasing RAM is the only way to increase performance while the objective M1 benchmarks blow everything out of the water. The proof is in the pudding.
The salient question is: how long does each machine take to execute the processes I use on a daily basis?
You still have to try it out and see. I'd welcome an article detailing a dev setup where the M1 isn't suitable because of performance reasons. So far we've seen mostly praise.
Programmers working on products with a billion users should realize that every kilobyte they save decreases world-wide memory usage by a terabyte.
While true, that's not going to motivate anybody. Memory is not a very scarce resource, we're making more all the time, we can continue to make more, and it's reusable.
Moreover, memory that isn't being used is almost completely useless - the only thing it does is act as disk cache.
Better to use memory than CPU, as the latter actually consumes power (leading to climate change if not powered using renewables etc.) - although even better to use less of both.
A more effective argument would be to look at the number of users on low-end devices, and point out that, the more memory you use, the less these users are able to run your applications.
Not that I'm expecting companies like Slack to care - they design for the high-end user, and if your company forces Slack on you and you have an older device, there's nothing you can do, and they exploit that.
Reason for that is that DRAM must be refreshed 24 hours a day, while the CPU is sleeping a lot of the time, even if the device is in use.
As for the device: It is neat, but not revolutionary to any degree. I do paint and model and can run blender/krita just fine, it is even quite performant. This is through emulation, I don't have native builds for arm. Maybe those have become available in the meantime, but you don't notice the emulation at all.
But it won't be the end of x86 in my opinion. Why would it?
Microsoft is working on the ARM transition. ARM has good control of mobile hardware. And Apple will be only selling ARM hardware (in the form of Apple Silicon) in another 12-18 months.
M1 and Apple Silicon are just part of the trend.
I just wish I could install Linux.... If MS and Apple just provide their locked down environments, it will never be more to me than a neat device and I would still crosscompile instead of binding myself to a manufacturer.
But moved to Mac (and OSX) about 8 years ago.
I don't get the "locked down" thing. On my current macs (a 2020 iMac and a 2015 MBP) I run Macports that lets me install pretty much every bit of userland software that I want. I also get the advantages of the MacOS gui environment and the availability of most "user" software.
Yes SIP and the new sandboxes lock down the MacOS part of the system, and things like VPNs (eg Wireguard) need to get a dev cert and distribution from Apple.
But the "lockdown" is very lightweight. There's nothing I can't do on this devices that I used to do on my Linux environments.
If I truly need a "native" Linux, then there are a number of VM and container environments also available.
I do some low level system developing and I doubt I would ever switch to MacOS for this. Higher level software? Maybe, but as I said, why give Apple any handle here and these sandboxes don't provide security for me. I will also not get a dev cert from anyone, that is just something that will never happen.
You can then debug anything, load unsigned kernel modules...
And has been for years. Unlike Apple they don’t have the ability (or the courage) to tell their partners to get on the train or get out of their way.
It’s not obvious they’ll ever be able to leave x86 behind.
Partially it's amazing they remained on top, and also partially that they never managed to cannibalize their own success (like Apple and later Microsoft have done).
iPhone still have 64GB as their base storage in 2021...
Did I mention that the case I was mentioning was in the very base Macbook Air with 8Gb ram cross-compared with an i9 64Gb machine?
You are kinda making a blanket statement that is a little unfaithful to the intent of any of these machines. None of these machines are intended as 'pro' machines, even the 'Macbook Pro' is just the low end model and it is three times as powerful as the outgoing model. Sure you can spec one to the moon to make a price point, but that's the story of anything.
Analogy is gaming consoles - the hardware is fixed for X years so game developers know exactly what to target and make better looking & performing games over the cycle of that console. Compared to, say, Windows 10 that has to run on an almost infinite number of hardware configurations.
This is actually similar to their approach to iOS and iPhones - iOS versions span across multiple iPhone cycles, but they are limits. For example, iOS 13 was supported on iPhones 6S thru iPhone 11, or the A9 thru the A13 SOCs. There's probably some correlation between good performance and the tight SOC-to-OS coupling.
We'll likely see similar, limited configurations for future Apple M* SOCs.
Facebook and Instagram is probably the upper bound on memory-hungry apps. (The average webpage consumes more memory nowadays than gcc -O3.)
I've got an 8 Gigabyte MBAir, and it never stutters. Meanwhile, on my 16 GByte Dell XPS (Ubuntu 20.04) - I routinely live in fear of exceeding my chrome tab quota because I know it will bring the system to a crashing halt. Somewhere around 45 is the point it all comes down.
Meanwhile, I don't even think about how many safari tabs I have open (hundred+) - and 8-10 applications open at the same time.
Different operating system has different models of swapping and degrading performance. Apple has nailed it.
The rest of their software's mostly like that, too, with the possible exception of Xcode. I often forget Preview with a half-dozen PDFs is open, and Pages with a document, and Numbers. I wouldn't forget a single tab of Google Docs under Chrome, left open for weeks, because it would make itself known in system responsiveness and battery use. Ditto MS Office. Mac Terminal's got notably lower input latency than most other terminal emulators, especially featureful ones.
Apple, seemingly almost uniquely among major software vendors, gives a shit about performance, and it shows. I really, really wish they had competitors, but in so many ways they're the only ones doing what they do, to the point that they can make periodic serious blunders and I'm left going, "yeah, but what else am I gonna buy, that won't have a 'normal' that's overall-worse than Apple's 'broken'?"
It's like the old days when I could put BeOS on a Pentium with two-digit MB of memory and it'd feel as good and responsive in actual use as a newer desktop clocked 6-8x higher and with 8x the memory, running Windows or Linux.
I'll stay with AMD and wait for 5nm...
Just stop.
Yet I have a gigantic laptop that does nothing but produce heat from opening python scripts.
Ah, and I also do stuff in Java/Eclipse/Nebeans, D and Rust equally fine.
I am not defending apple in any way whatsoever, I even mentioned in the first sentence of the comment. I stated that they are able to do that because they compensate with compression and SSDs, applications in the background can be thrown in the swap and the user will rarely notice.
So like, 2 times as fast as any other SSD? No? The comment reads like marketing spiel.
[1] https://www.macrumors.com/2020/11/16/apple-silicon-macbook-a...
Fastest SSDs barely reach 200MiB/s on 4k block random writes (reads are usually slower, likely because they can't be cached if they are truly random):
- 124MB/s for Samsung 980 Pro (https://www.servethehome.com/samsung-980-pro-500gb-pcie-gen4...) - 211MB/s for Sabrent Rocket 4 Plus (https://www.servethehome.com/sabrent-rocket-4-plus-2tb-revie...) - 171MB/s for Intel 670p (https://www.servethehome.com/intel-670p-2tb-m-2-nvme-ssd-rev...)
32/64 queue depths generally do not apply to desktop computing since you are unlikely to read that many file streams simultaneously (or rather, your one program that you care about right now might be loading only a few files at once, which is what you'd perceive as the SSD speed: the fact that OS services might be accessing other stuff in the background does not help much there).
Actually, they're somewhat slow compared to the competition.
A 500GB M1 SSD gives you about 3.1GB/s of write and 2.75GB/s of read performance [1]. In comparison - a $219 Samsung 980 Pro benchmarks at 4.2GB/s of write and 5.2GB/s of read performance [2]. Both on Disk Test from Black Magic.
[1]: https://www.reddit.com/r/mac/comments/k2lhi8/ssd_speedtest_o...
[2]: https://www.servethehome.com/samsung-980-pro-500gb-pcie-gen4....
You'd be shocked looking at any telemetry data which says that the average ram is 8gb and average ram use is ~50% or so.
I'd also believe it, since the number of laptops available with only 8GB of RAM is ridiculous - I swear it's because more prevelant in the past few years, presumably because of RAM prices.
It's a shame that Apple is so great at greenwashing and at the same time spits on every way they could help create truly sustainable products by just dropping a few percent of their bottom line.
The lowest and highest tier exist only to shift consumers towards the middle tier, where Apple profits the most and where lies less value for the consumer. It is a marketing strategy invented by Apple IIRC (it's been a long time since my marketing exam).
I had no idea it was invented by Apple. That feels a little too recent...
Probably going to be the next iteration of the 27" iMac, spanning from 8GB/256GB (LOL) to 16 GB/1TB or something.
No. But people are confused because the RAM is (annoyingly though not entirely nonsensically) tied to the SSD.
It was actually invented by Goldilocks.
So what's Apple's end-game? Milking (predominately US) professional class in perpetuity. It's not like they're going to switch, especially if they perceive the alternative to be sluggish heavy bricks whose battery barely lasts 2 hours. For sales, perception is more important than reality.
Is that so clear? It sounds more like a huge assumption to me. It’s not like having an Apple laptop makes it impossible to see how the competition is doing. Doubly so for people with friends in tech.
The iMac will perform comparably (probably a bit better due to better thermals). My point is that these are not bad machines and I don't see why you'd steer someone away from them. However, the price is still quite high compared to other manufacturers and options. But that's always been the case.
I'm pretty sure they're not nickle & diming people with 8GB RAM M1 machines, someone somewhere has calculated that as being enough for most users.
HN hardly is the place to compare what is "min spec" :)
(As I'm writing this, my i7 MBP sounds like a jet taking off, CPU capped near 100%. Normal day at the office.)