But at this point it's really held back by Apple's software.
Anything related to Apple ID and iCloud regularly hangs 30-60 seconds, showing a spinner with no progress indicator whatsoever.
Apps randomly take 20 seconds to launch, maybe because of ?
The Open/Save dialog taking 30 seconds to show.
ControlCenter using 8GB of RAM to show a few sliders (I hope they fix that bug soon).
The scanning feature in Preview is so unreliable that I started using my Windows machine for scanning something on my HP all-in-one.
Some of those problems may be issues with 3rd party software (drivers), and others are just things that slipped through QA, and will hopefully be fixed in an update.
But some of the issues are structural issues, where Apple has made questionable decisions that means issues can never be fixed.
Eg. designing a security architecture that requires synchronously checking a binary signature during app startup with a web service is bound to cause performance issues.
Or the design of the XPC system, which uses asynchronous message passing between services that are implicitly launched on demand sounds nice in theory, but it has been the source of so many bugs, causing temporary or permanent app hangs that are impossible to debug. The system was introduced in macOS 10.7 (!) and it still doesn't work reliably! At this point I've lost hope it will ever work properly.
For anyone saying "I never see this" or "something's wrong with your system" - I've seen these sorts of problems, in some capacity or another, over ... 12 years, multiple macbooks and imacs, multiple OS versions, multiple internet providers, from various parts of the world. I think the folks saying "never affects me" simply do not notice this stuff. I don't know how/why you can't notice stuff like this, but I've been present where I've noticed people getting beach balls, I've pointed it out, and was told "oh, didn't see that". Not saying every single person is missing every single instance 100%, but I've no doubt this interrupts peoples' flow different from mine.
If I've paid $4k for a laptop and click a button, I don't expect to wait for... 1-2 seconds, then see a beach ball, then wait.... then wait some more... before a button click is recognized. It's better today than last year, and the year before, but... wtf... it's still there.
Now we seem to be at a point where the software is getting slower more quickly than the hardware is getting faster, so that following a hardware upgrade everything is a bit slower than it was following the prior upgrade.
Software sucks, and hardware is amazing.
Not that I never see them, but that cut them to under 5% the rate I'd been seeing them. Xcode still does it pretty reliably, but luckily I don't work in that much. Now if I see them it's usually because WhatsApp or Slack have gone insane, which they do every few weeks. Or some web app. Point is, there's usually one thing going nuts that causes it, it's not just a constant feature of my desktop even under light-ish load.
Some heavier stuff, like Android Studio with the Emulator running, might still beachball quite a bit. Dunno, been out of Android development for quite a while. I'm sure there are some workflows that still have the problem. The browser thing kept them from being a common feature of my personal experience, though.
Is this even possible? I don't think a 50k computer can guarantee no wait on software. How would any hardware prevent excessive software utilization?
I've got an M1 and M1 Pro and I've never seen anything like this, macOS in general has some long standing software bugs around the performance of apps like Music and Preview that I've seen hit on the M1 processor but they seem to make less of an impact to the usability compared to the Intel processors.
XPC is not asynchronous; that's up to the individual caller. The synchronous methods are easier to debug for sure.
It's been some time since I dug into the internals of XPC, but my assumption was that the underlying protocol is asynchronous, and if you do sync calls the wrappers just do the waiting for you.
The problem is that it has a tendency to get stuck in some rare cases, where services just don't reply for some reason. Then the sync calls are the worst -- the UI of the app is completely frozen and there's nothing you can do except restart the app. If the problem is with an Apple service (like Apple ID) then the only way to fix it is to restart the Mac and hope it doesn't happen again.
You don’t seem to have a full grip on the reasons for the intermittent hangs you’re experiencing. Can I suggest two things?
1 Grab a sysdiagnose during one of the hangs and file a feedback report with Apple
2 Use the `sample` command line tool to see what’s actually hanging a particular process for yourself
I try to report all of the issues I see to Apple, but at some point there's nothing I can do except complain that Apple's frameworks are buggy.
The biggest problem with these bugs is that customers always seem to think it's an app bug, and there's nothing the app developer can do except hope that Apple fixes the issue. One early sandbox bug took Apple about 3 years to fix. To be honest I don't even know if they fixed it, it was never mentioned in a changelist, it's just that I stopped getting reports of the issue at some point.
Don't use "sample" if the issue could be multi-process or in the kernel, use "spindump".
That's interesting! I thought XPC was a wrapper around async mach messages. Do you have any pointers where I can learn more about this?
But it's a special wait that the scheduler and other systems know how to benefit from using vouchers/turnstiles/etc. If you look at spindump output you should see it.
But it's not all or nothing. For example I've started using Syncthing instead of iCloud Drive for some use cases and that works surprisingly well (Syncthing isn't without flaws either, but at least it shows exactly what it's doing making it a lot easier to debug).
You could run it today if you wanted to, but there are a bunch of things that are missing.
This is _infuriating_ as a user. There is no possible good reason for this.
I’ve never experienced any of these issues (multiple macs in various profiles).
The only slowness I’ve noticed has been related to the beta private relay
Issues I've reported via Feedback Assistant:
1. Issue waking external displays. Typically 10+ seconds to wake my HDMI display, Thunderbolt is faster, but still a bit slow.
Slow wake of external displays might sound like a minor issue, and it is. What's not a minor issue is having all my windows slammed on top of each other on the Macbook's built-in display every time I wake from sleep.
2. No scaling for external non-4K monitors. I've got a 1440p 144Hz display, my options are tiny text, pixelated large text (decreased resolution) or install a third-party work around (https://github.com/waydabber/BetterDummy). The third-party work around breaks screen recording. Seems there's another bug in macOS where you can't use display mirroring and record screen at once - it crashes the screen capture tool.
3. Unresponsive Finder. Sometimes I can't drag and drop files. The rest of the UI works, but you cannot click and drag. No idea why.
4. Black screen (with cursor only) after wake from sleep. Think this is somehow related to clamshell mode, as I believe it enabled briefly when I plugged external displays in before opening the lid. Had to hard reset.
5. Audio popping. System wide. Interestingly there's no category for reporting sound issues in Feedback Assistant. Pretty crazy when you think about modern Apple's origins. Seems this is a pretty wide-spread issue. Theories I've seen have been related to Rosetta. However, I can confirm that arm64 binaries (e.g. Firefox) do occasionally lead to popping, but it may be that Intel binaries are running at the same time. It comes and goes. It's almost certainly a driver issue, doesn't sound like bad speakers, sounds like corrupt buffers.
Issues I haven't reported:
1. Text boxes not being responsive. As in, you can't click in them. I don't know if this is somehow related to the Finder issue. It may well be app specific, hence why I haven't reported it. However, I've observed it in Firefox and Jetbrains products.
2. Garbled rendering, particularly around fonts. Again, might be app specific. Main culprit is Slack. Restarting the app doesn't fix it, rebooting does though.
There's probably more that I'm forgetting. Honestly, this is a bit depressing. The M1 is a beast. If I worked on Apple's hardware team I'd be pretty peeved, because they've achieved something amazing and cruddy software is compromising the entire experience.
On Safari that happens when you have lots of Bookmarks, History, Open Tabs etc.
Not every time, mind you. Only about once in 50 times. Sometimes she goes for weeks without it. Sometimes it happens several times in a day.
My 2016 imac has some weird issues as well, like not supporting some of my keyboards when I use a nonstandard layout file (swedish dvorak)- even though they work just fine with apples own keyboards.
Apple has some issues with quality control. Things have gotten steadily worse since 10.5, even though I do enjoy the new features.
Not just weird things like the one above, but basic things like standard shortcuts not working when you have Swedish layout. Now I cant remember which one it was, but it was something that should do a common thing, but instead brought up the "search in the help files" instead.
I have been bitten by it every time I use a new mac or do a fresh install.