5 ms·
Apps taking longer to launch is generally a RAM issue (unless you swipe up and force-close your apps each time). They drastically increased RAM recently: https
by diebeforei485 4y ago
Apps taking longer to launch is generally a RAM issue (unless you swipe up and force-close your apps each time).
They drastically increased RAM recently: https://9to5mac.com/2022/12/31/iphone-ram-list/ https://9to5mac.com/2022/12/31/iphone-ram-list/
- cma 4y agoDrastically still looks way lower than Samsung flagships (12GB).
- yamtaddle 4y agoiOS has historically done a lot better with less RAM (as far as how snappy and responsive it feels) than Android. Dunno if that's still the case, but it very much was for years and years.
- sliken 4y agoI believe it's still true. Apple's swift/obj c++ don't use garbage collection. Android default java/kitlin does, so android is inherently more memory intensive.
- kaba0 4y agoRef counting is garbage collection. But it trades off better throughput for less memory overhead that is true.
- stolsvik 4y agoYou keep saying that, but it is not true.
- kaba0 4y agoTracing GCs get to amortize their deletion costs over time - in theory a tracing GC with two equal spaces (thus at least 2X overhead) can just copy used data to the currently unused partition and switch over, later overwriting the former region. This combined with thread local allocation buffers where an allocation is only a pointer bump is a really great combo. There are many smart modifications, but this auto-defragments as well. Now if you want general ref counting you have to use atomic counters, and those will trash your performance on modern machines beyond fixing. And then we didn’t even mention that big object graphs will have to be recursively freed, an overhead that can’t be amortized in this case. Oh and you do need a tracing step one way or another to free cycles.
- stolsvik 4y agoI was referring to the “ref counting is garbage collection”. You do however seem to know your ways around a GC, so it seems we’ll just have to disagree on the ref counting == GC part. (And yes, GC rocks, but seriously bloats the memory requirements)
- etempleton 4y agoMacOS manages better than Windows as well. Apple seems to have really good memory management. I don’t know enough to know what they are doing, but in day to day tasks it always feels like a Mac/ iPhone needs half as much memory to feel responsive. Memory intensive work, such as video editing still require what they require though.
- yamtaddle 4y agoApple's dev culture just seems to have more give-a-shit about performance (and, relatedly, battery life) than anyone else's. See also: Safari, their office suite programs, Preview which is the first program I've seen that handles PDFs very well and doesn't also feel super-heavy (on the contrary, it's very light), Terminal which is more-or-less competitive input-latency-wise with the best available anywhere else and is way better than average, and so on.
- kaba0 4y agoWhile I’m not an ios dev, from what I gathered ios is just way more aggressive at telling background apps to save their state and then stopping them. This can sometimes be very frustrating (ishell basically being blank if one didn’t touch it for like 10 seconds), but is great for responsiveness, battery life and longevity. Unfortunately this can be hardly retrofitted to other OSs since it requires cooperation from the apps.
- nomel 4y agoRelated, I'm using an M1 MacBook with only 8Gb, and I don't understand how it's doing what it's doing.
- RattlesnakeJake 4y ago2013 MacBook Air with 4GB, and I still ask the same question ten years in.
- diebeforei485 4y agoThat's a totally different system architecture and a different OS and a different memory structure for apps, so direct comparisons don't apply.
- kaba0 4y agoMy desktop computer has less RAM than that and I develop on that.
- pertymcpert 4y agoWhy?
- lxgr 4y agoIf your most commonly used apps all fit into RAM, instead of initializing each app from scratch, the OS can just resume a suspended version from memory, which is much faster.