Earlier quoted context omitted.
It's surprising that they don't improve the developer experience for their own developers using their own tools, including hardware.
Apple uses the same tools you do. They just might not be using it like you are; you can find a lot of features that clearly have no reason to exist outside of Apple nonetheless shipping with their software.
MacOS Catalina: Slow by Design?
171–180 of 1001 posts
Re: MacOS Catalina: Slow by Design?
#172I hope Apple currently has a team focused on macOS perf. I worked on the team in charge of improving iOS (13) perf at Apple and IIRC there was no dedicated macOS “task force” like the one on iOS. Luckily some iOS changes permeated into macOS thanks to some shared codebases.
> IIRC there was no dedicated macOS “task force” like the one on iOS It's not surprising. Macs are less than 10% of Apple's revenue. https://www.macrumors.com/2020/04/30/apple-2q-2020-earnings/
They are risking their entire empire because (apparently) someone at Apple has an axe to grind with macOS's Unix underpinnings. And until they start getting real consequences (developer's leaving in huge numbers), it doesn't seem like it's going to stop. The tragedy is, if they ever do reach that point, where developers are leaving in huge numbers, it'll be too late. Platforms are a momentum game, you're either going up, or you're going down. And once you're going down, you're as good as dead.
Re: MacOS Catalina: Slow by Design?
#173Re: MacOS Catalina: Slow by Design?
#174It looks like my time with MacOS is rapidly coming to an end. Any Linux distro recommendations these days?
I switched from MacOS to Linux years ago. For a developer workstation these days I'd probably either go with Ubuntu LTS or Fedora (my personal choice). Either runs fine on my XPS 13. Note: I really wanted to like WSL, but it just didn't work for me.
I just recently switched from Mac OS to windows and it really hasn’t been a bad experience.
I would go full Linux but the drivers for the GPU on my laptop seem to be a bit of a mess currently.
Re: MacOS Catalina: Slow by Design?
#175I've been forced to update to this pile of shit because latest iOS requires latest Xcode which in turn requires Catalina. It's a nightmare. First off the new apps (music, podcasts, etc) are terrible. They killed off iTunes but replaced it with much worse. These apps don't behave like standard macOS apps, the UI is full of inconsistencies and is just so empty. This website has nice examples of the failures of modern M…
Re: downloading Xcode, this page has saved me hours: https://stackoverflow.com/questions/10335747/how-to-download... . It's just a list of direct links to each version of Xcode at apple.com. Mystery why Mac App Store downloads still can't be bulletproof after all these years.
Re: MacOS Catalina: Slow by Design?
#176Earlier quoted context omitted.
> IIRC there was no dedicated macOS “task force” like the one on iOS It's not surprising. Macs are less than 10% of Apple's revenue. https://www.macrumors.com/2020/04/30/apple-2q-2020-earnings/
It's not surprising. Macs are less than 10% of Apple's revenue. Without Macs for developers and other content creators that other 90% doesn’t exist.
Re: MacOS Catalina: Slow by Design?
#177In our company many of us have similar issues. I have always loved OSX but this time it is driving me crazy. I though the issue was some sort of company antivirus/firewall, or it could even be a combination of that and this issue (maybe my vpn + path to company firewall is what magnifies the issue in this post). The thing is that some commands take 1 second, some others take 2 minutes or even more. Actually, some com…
Certain BSD-syscall-ABI operations like fopen(2) and readdir(2) are now not-so-fast by default, because the OS has to do a synchronous check of the individual process binary's capabilities before letting the syscall through. But POSIX utilities were written to assume that these operations were fast-ish, and therefore they do tons of them, rather than doing any sort of batching.
That means that any CLI process that "walks" the filesystem is going to generate huge amounts of security-subsystem request traffic; which seemingly bottlenecks the security subsystem (OS-wide!); and so slows down the caller process and any other concurrent processes/threads that need capabilities-grants of their own.
To find a fix, it's important to understand the problem in fine detail. So: the CLI process has a set of process-local capabilities (kernel tokens/handles); and whenever it tries to do something, it first tries to use these. If it turns out none of those existing capabilities let it perform the operation, then it has to request the kernel look at it, build a firewall-like "capabilities-rules program" from the collected information, and run it, to determine whether it should grant the process that capability. (This means that anything that already has capabilities granted from its code-signed capabilities manifest doesn't need to sit around waiting for this capabilities-ruleset program to be built and run. Unless the app's capabilities manifest didn't grant the specific capability it's trying to use.)
Unlike macOS app-bundles, regular (i.e. freshly-compiled) BSD-userland executable binaries don't have a capabilities manifest of their own, so they don't start with any process-local capabilities. (You can embed one into them, but the process has to be "capabilities-aware" to actually make use of it, so e.g. GNU coreutils from Homebrew isn't gonna be helped by this. Oh, and it won't kick in if the program isn't also code-signed, IIRC.)
But all processes inherit their capabilities from their runtime ancestors, so there's a simple fix, for the case of running CLI software interactively: grant your terminal emulator the capabilities you need through Preferences. In this case, the "Full Disk Access" capability. Then, since all your all CLI processes have your terminal emulator as a runtime ancestor-process, all your CLI processes will inherit that capability, and thus not need to spend time requesting it from the security subsystem.
Note that this doesn't apply to BSD-userland executable binaries which run as LaunchDaemons, since those aren't being spawned by your terminal emulator. Those either need to learn to use capabilities for real; or, at least, they need to get exec(2)ed by a shim binary that knows how.
-----
tl;dr: I had this problem (slowness in numerous CLI apps, most obvious as `brew upgrade` suddenly taking forever) after upgrading to 10.15 as well. Granting "Full Disk Access" to iTerm fixed it for me.
Re: MacOS Catalina: Slow by Design?
#178OSX used to be the OS that started really quick, and ran really smoothly. Certainly far better than Windows. Also search was lightning fast. It was a selling point on its own. But recently it has slowed to a crawl. And I have to ask, what business is it to Apple whether I store a script somewhere? I don't even want them to have a checksum. And I don't want to go through the bother of having to change settings for it…
Coldboot Windows 10 from pushing the power button to reaching the login screen is 7s for me (i7-7700, m2 SSD, 32GB RAM).
I never ever had quicker startups on OSX.
Re: MacOS Catalina: Slow by Design?
#179Earlier quoted context omitted.
Still doesn't give you a programming environment, unless you want to do bash.
How does that even make sense? It’s an OS, go grab a Desktop Environment and download nvim, VSCode or whatever.
> Teaching my daughter to program on a modern computer, we spend more time bootstrapping and in process, than we do in actual development.
Arch Linux does not help with this, unless you make it boot into a VIC-20 emulator or something. Arch can help with boot speed, but once you're booted you're back in a full modern OS. So fine, install VSCode and Python... okay, now you get to figure out libraries. Manage terminals. Arrange a filesystem. This is not getting you closer to the VIC-20 or C64's "boot into BASIC".
Re: MacOS Catalina: Slow by Design?
#180Earlier quoted context omitted.
Windows 10 with WSL if you have a laptop. Debian or similar or ArchLinux if you have a desktop.
Depends on the laptop. I've had good experiences with thinkpads and business class Dells on Linux (and BSDs, for that matter).