Android phone hits 24GB of RAM, as much as a 13-inch MacBook Pro
arstechnica.com
arstechnica.com
Very impressive they're able to cram that much performance into an Android handheld, but part of me wishes Microsoft would put more research/dev time into Windows on Arm, or Apple allowing you to install their OS onto it.
Android just seems so limiting when you have that much memory. The OS probably can't even take advantage of it all.
ZTE did the Axon M, which might have been the first foldable, though clunky.
Nubia did the Z20, which had a screen on the back.
It seems like iOS and macOS do more with less ram. Why is that?
My outdated view on this is that iOS apps are native vs Android that runs JVM apps. Is that even true still?
AFAIK, Android caches things in terms of the JVM/ART using Zygote, but macOS and iOS are designed to run native code, so they cache the actual dynamic libraries themselves (it's called the "dyld shared cache"). Things like libc, some core frameworks and so on go in there.
Keep in mind this happens across the entire OS, since the Android user experience is implemented largely in terms of high level JVM/ART objects with all of their associated heap overhead, but iOS and macOS and their apps are mainly implemented in C/C++, Swift, Objective-C, which at most use reference counting, and only for objects that need to be reference counted. This is absolutely not the cause of all memory issues but this is sort of the base level foundational stuff of both platforms and has implications for the higher levels.
Even though Android is based on Linux and iOS/macOS are based on Unix and BSD, and those two/three platforms are quite similar conceptually, they have very different userlands.
Still I can imagine that it uses slightly more memory...
I will also say, Apple devices across the board are significantly better at memory management than both Android and Windows. Where on a Windows machine I feel I need 32 GBs, 16 GBs feels adequate on MacOS. And my understanding is the situation is similar between iOS and Android.
Ha no, I'm using 9.98Gb of ram with literally just a single tab browser window open in Mojave. You'll be swapping constantly with anything resembling a normal workflow.
I distinctly remember the reality distortion field that permeated the discussion ("Apple silicone doesn't need as much memory", "MacOS is more efficient than windows" and similar such idiocies) when those things first came out. Whoever Apple retained for this PR sure managed to bamboozle a lot of gullible people.
This is not the problem. You can find comments here how people literally said what 'it were running better than x86 Macs with 16+GBs'.
ADD: and 'nobody needs more than 8GB, because it works so fine'. Just to clarify.
Idk if it swaps fast or what, and I don't care.
M1 memory latency is 100ns, which wasn't really competitive with amd/intel at the time (70 something nano). Any SSD read be an order of magnitude slower than reading from ram - something to the tune of 5gb/s version vs 70gb/s for the SOC ram. For comparison, the intel trashcan mac pro clocked in at 60gb/sec a decade prior.
Reference:
https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
https://www.anandtech.com/show/16214/amd-zen-3-ryzen-deep-di...
Reading these always feels like winning an F1 race, then being gaslit about how that’s not possible because of inferior cylinder design.
I'm basing my knowledge on discussions with other developers on rwkv.cpp because we were talking about how performance scales with the number of tokens per iteration. Memory speed/bandwidth came up and some things about M1 were said. Sorry about that.
It goes like this: new hardware comes out that is more powerful, people buy it because it feels good and everything is fast. Then new software uses all of it, and the cycle starts again with new hardware.
This.
It's not that people make their programs unacceptably slow on purpose. It's that they test their programs on incredibly and unrealistically powerful hardware.
I used to know someone that said they optimized their DOOM port or something like that for cheap old netbooks, and as a result, get hundreds of thousands of FPS on any vaguely modern system. And there's a video series on YouTube where someone is optimizing some voxelized game engine and uses the Intel iGPU - yes, the nearly-useless one you get on most of their Core-series CPUs - to vastly outperform a CPU implementation of a bunch of voxel algorithms anyway, because optimizing for such a weak GPU allows you to focus only on things that GPUs are actually fundamentally good at, as anything else will run unacceptably slowly. Unfortunately I don't remember what it was called.
Q3_K_S 33b fits on my 16GB laptop + 6GB GPU (so 22GB minus some overhead from the split + linux), but its extremely tight and only works up to ~800 context.