We have achieved this by incorporating hundreds of micro-optimizations. Each micro-optimization might improve the performance by as little as 0.05%. If we get one that improves performance by 0.25%, that is considered a huge win. Each of these optimizations is unmeasurable on a real-world system (we have to use cachegrind to get repeatable run-times) but if you do enough of them, they add up.
From a post on the SQLite mailing list. (In an act of terrorism, this post is double-spaced after the sentence-terminal punctuation. )
Apple has a well-documented software quality problem. Issues linger and then entire systems might be replaced without a fix for the underlying problem. This can have ill effects for the users, but allows Apple to not have the cruft1 associated with Microsoft Windows.
The most common user complaints about Apple software quality focus on user-facing or user-viewable quirks and issues. I has a different sort of issue - a system level one and it presented as user-facing while, I believe, being a driver or kernel improvement.
I bought a Mac Studio to replace a 2014 5K iMac. As part of the upgrade I chose to not use Migration Assistant and instead set up the machine as new and manually transfer folders and files in order to start from a clean slate. I have been using a Mac since macOS Panther. I’m sure there was some cleaning over the years but there were also preferences for programs long gone and my bash/zsh config files had become an intractable mystery. Between the difference in ports and the cables I had available I ended up connecting through gigabit ethernet (using my AT&T fiber modem2/router). And the transfer was slower than expected.
I tried several things and then, synchronistically, remembered Service Order in the The Network Preference Pane.3 It was set correctly with Ethernet above WiFi, but it sparked another thought. I disabled WiFi on both the old iMac and the Studio and the transfer went fast enough after that.
I suspect, but do not know enough to test, that the WiFi negotiates the connection faster than the Ethernet, a driver or kernel level improvement. In this particular instance both machines were connected to both (Ethernet for speed and guaranteed connectivity and WiFi because I am modern, first-world, monster and like my watch to unlock my computer as I sit down) and the WiFi was better at introductions, so that ended up being the connection used for the file transfer.
This is a fascinating idea - an improvement that manifests as a problem, not socially (I’m sure during Reconstruction there were many white people who saw racial equality as a problem) but practically. I suspect, but do not know enough to test, that Apple’s internal narrative is one of progress, sinking past mistakes in the move forward. “Here is a better way, never mind the cost,” they say. It is a bit cynical as progress does require change, which may feel strange or bad while being a net good. (see Reconstruction example just above).
Did I just equate Apple to Reconstruction era United States? No, but I did link them thematically. I do keep thinking about the SQLite post and how from tiny, unnoticeable, incremental changes a large, experienced change emerges.
-
Raymond Chen writes The Old New Thing, a developer blog for Microsoft, which has many stories of workarounds that Microsoft has kept in their software at the behest of customers so they do not need to upgrade systems and/or software. These include testing for certain conditions in order to deliver documented bad math because another piece of software worked off the assumption that the result would be wrong in a certain way. I find this admirable and insane - and not in equal measure. ↩
-
Modem can’t be the correct word, can it? Is there modulation between analog and digital in a fiber optic cable? ONT? That’s a bit on the nose. ↩
-
When I updated the OS(!) on my Studio Display, Service Order ended up being a help as, for some reason, the Studio Display ended up ahead of all of my other Network interfaces on restarting. ↩