3 ms·
100% agree with this. Point updates of macOS take 20+ minutes on an M1 Max with 32GB of memory and a blazing fast SSD. What could it possibly be doing? Even i
by atonse 4y ago
100% agree with this.
Point updates of macOS take 20+ minutes on an M1 Max with 32GB of memory and a blazing fast SSD. What could it possibly be doing?
Even iOS updates are a bit faster.
Is apple even interested in fixing this?
- shadowgovt 4y ago> What could it possibly be doing? If memory serves: point-symbol optimizations to make code calls into The objective-C libraries performant. Under The hood, objective-C really does use strings to reference library functions. So when the OS is updated, the string interning table is updated and all of the installed software has to have its string to symbol caches rewritten to account for the new API. There are almost certainly better ways to do this but if I understand correctly, Apple inherited the existing solution without putting enough thought into how it would scale and now changing the solution would break an indeterminate amount of software depending upon the current implementation.
- saagarjha 4y agoNo, installed software is not patched on updates.
- shadowgovt 4y agoNot "installed software patched;" caches rebuilt.
- saagarjha 4y agoThey come from Apple on a signed system image that cannot be modified.
- shadowgovt 4y agoSorry, can you clarify? What is the "they" in that sentence? EDIT: a sibling comment jogged my memory; the thing I was doing a bad job of remembering was prebinding. https://opensource.apple.com/source/cctools/cctools-622.5.1/RelNotes/Prebinding.html https://opensource.apple.com/source/cctools/cctools-622.5.1/... When a new version of the OS is installed, the OS re-runs prebinding for applications to the dynamic libraries they rely on because the dynamic libraries may have changed. The alternative is to have a big latency bump every time an app is launched for the first time as the caches are rebuilt on-the-fly. (I think this is the step that used to be called "Making Your Macintosh Happy" during an install, but the veracity of that notion has fallen too far down the Google search hole for me to easily pull up a reference to confirm or deny it).
- plorkyeran 4y agoThat's no longer done on install. The modern equivalent of it is part of the signed image that you download from Apple.
- batman-farts 4y agoYes, it’s been like this since the 10.0/public beta days at least. I remember wondering about it back then. I believe the command the system updater always runs is something like update_prebinding -root /
- atonse 4y agoAnd they can’t precompute those caches for particular libraries and ISA combinations? They know exactly what hardware it’ll run on.
- saagarjha 4y agoVentura improves update times to 5-10 minutes on my computer.