Earlier quoted context omitted.
> Otherwise it's just a non-issue. Nah, sorry, but you're wrong. I had to upgrade my laptop because I wanted to run Firefox, IntelliJ IDEA and an Android emulator on the same machine. Nothing else. This was not possible on 8GB ram. So it's not like multiple VMs are needed and above scenario is pretty average for a common mobile developer (but still not an average user, I admit) Second thing is, lots of games require…
> an Android emulator Well, that's one (largish) VM.
Apple Silicon M1: Black Magic Fuckery
961–970 of 1001 posts
Re: Apple Silicon M1: Black Magic Fuckery
#962PSA: however impressive the M1 hardware is, you're still going to be stuck using OSX, playing in Apple's walled garden and being subjected to their awful policies. I'll gladly join the groupie crowd once Linux runs stable on it.
MacOS is not in any sense a walled garden. You can run any code you like on it. It's a general purpose computing environment. I really wish Apple-detractors would find something true to complain about instead of spreading this misinformation.
Re: Apple Silicon M1: Black Magic Fuckery
#963I'm typing this from a 2014 i7-4980HQ 15" MBP. This machine would have been replaced in 2017 but I wasn't impressed with that years model. I had planned to upgrade in 2020 but the announcement of the M1 basically quashed that. I've been on this planet long enough to know when Apple changes course like this the old architect is already obsolete. 68k -> PPC -> x86_64 -> ASi. The PPC G5 got exactly 1 OS upgrade (10.5) b…
I think there are more devs invested in the macOS ecosystem with hardware during this transition than the last, so it would make sense for Apple to let those Intel hold outs still keep up with the latest macOS version.
I would say two or three cycles of macOS upgrades before they EOL Intel support.
Re: Apple Silicon M1: Black Magic Fuckery
#964Earlier quoted context omitted.
All Swift/ObjC software has been doing ARC for ten (?) years. Virtual memory usage will be the same under M1. It will just pay off in being faster to refcount (ie as fast as it already is on an iPhone), and therefore the same software runs faster. Probably won't work under Rosetta 2 with the per-thread Total Store Ordering switch. And it's probably not specific to NSObject, any thread safe reference counter will bene…
You might try reading the article. One example was a large software build taking ~25% less time on a 13" MBP than on a 12-core Mac Pro. I'm curious about FP/vector performance, but I'm pretty sure it's fine. I'm definitely eyeing a MBP myself! 20 hours of video playback? Crazy...
Re: Apple Silicon M1: Black Magic Fuckery
#965Earlier quoted context omitted.
This quote doesn’t really cover why M1 macs are more efficient with less ram than intel macs? You’ve got a memory budget, it’s likely broadly the same on both platforms, the speed at which your retains/releases happen isn’t going to be the issue. it’s not like intel macs use GC where m1 uses RC. (It explains why iOS does better with less ram than android, but the quote is specifically claiming this as a reason for 8G…
I can't speak to the MacOS system, but from years spent JVM tuning: you're in a constant battle finding the right balance of object creation/destruction (the former burning CPU, the latter creating garbage), keeping memory use down (more collection, which burns CPU and can create pauses and hence latency), or letting memory balloon (which can eat resource, and makes the memory sweeps worse when they finally happen).…
The JVM already makes it extremely cheap to create and destroy objects: creation is always ~free (just a pointer increment), and then destruction is copying, so very sensitive to memory bandwidth but done in parallel. If most of your objects are dying young then deallocation is "free" (amortized over the cost of the remaining live objects). Given the reported bandwidth claims for the M1 if they ever make a server version of this puppy I'd expect to see way higher GC throughput on it too (maybe such a thing can be seen even on the 16GB laptop version).
The problem with Java on the desktop is twofold:
1. Versions that are mostly used don't give memory back to the OS even if it's been freed by the collector. That doesn't start happening by default until like Java 14 or 15 or so, I think. So your memory usage always looks horribly inflated.
2. If you start swapping it's death because the GC needs to crawl all over the heap.
There are comments here saying the M1 systems rely more heavily on swap than a conventional system would. In that case ARC is probably going to help. At least unless you use a modern pauseless GC where relocation is also done in parallel. Then pausing background threads whilst they swap things in doesn't really matter, as long as the app's current working set isn't swapped out to compensate.
Re: Apple Silicon M1: Black Magic Fuckery
#966Earlier quoted context omitted.
Yea, this is a BS theory. I have a 16Gb M1 MacBook Air and the real answer is that it has super fast SSD access, so you don’t notice the first few gigabytes of swap. But when swap hits 8-9 Gb, it’s effects start to get very noticeable.
I tend to agree! I think Big Sur on M1 uses 16kB page size vs 4kB on Intel so maybe that contributes to more efficient / less obvious perf issue when swapping.
Re: Apple Silicon M1: Black Magic Fuckery
#967Earlier quoted context omitted.
Not the specific thing mentioned in the article. There is other hardware that optimizes Objective-C specifically, but it’s a branch hint.
any links or other info about that? sounds realy cool
Re: Apple Silicon M1: Black Magic Fuckery
#968Earlier quoted context omitted.
> offering no machine suitable for developers and power users This perception strikes me as having warped in from a different decade. Nowadays, at least in my neck of the woods, developers almost universally use laptops, and Apple's still plenty competitive in the (high end) laptop department. For the most part, the only developers I know who still use desktops are machine learning folks who don't like the cloud and…
I work in games where we write c++ in a multi-million LOC base. Every developer in my company has a minimum of 12 cores, and 96GB RAM. All of the offices are backed by build farms on top of this. There are entire industries that rely on very high end hardware. (Of course we also rely on lots of windows-only software too, but that's only an issue once the hardware is solved)
I have the feeling that Apple just cares about Apps for iOS (money wise). What's the minimum they need to do so people write iOS apps?
If this hardware, incidentally, is good for your use case, all is good. If not, they might just shrug it and decide you're too niche (i.e. not adding too much value to their ecosystem) and abandon you.
Re: Apple Silicon M1: Black Magic Fuckery
#969This is fascinating: > Retain and release are tiny actions that almost all software, on all Apple platforms, does all the time. ….. The Apple Silicon system architecture is designed to make these operations as fast as possible. It’s not so much that Intel’s x86 architecture is a bad fit for Apple’s software frameworks, as that Apple Silicon is designed to be a bespoke fit for it …. retaining and releasing NSObjects i…
> "M1 and memory efficiency" Hi folks! It looks like my blog post[1] was the primary source for this (it's referenced both by this post and by the Gruber post), and to be clear, I did not claim that this helps ARM Macs use less RAM than Intel Macs. I think John misunderstood that part and now it has blown up a bit... I did claim that this helps Macs and iPhones use less RAM than most non-Apple systems, as part of App…
Re: Apple Silicon M1: Black Magic Fuckery
#970PSA: however impressive the M1 hardware is, you're still going to be stuck using OSX, playing in Apple's walled garden and being subjected to their awful policies. I'll gladly join the groupie crowd once Linux runs stable on it.
> Apple's walled garden Apparently over the years the definition of "Walled Garden" has drifted a lot. The iPhone has a "Walled Garden", unless you jailbreak, it's very difficult to run anything outside the App Store. My Mac? Almost nothing I run is from the App Store. Nothing needs to be from the App Store. Most of what I run doesn't even go through Gatekeeper and it certainly never touches software I build or compi…
I mean, I get it, it’s fast. That’s good. But it’s so obvious people worry about the trend, not the exact current state.