Multi-core operations like compiling C/C++ could benefit.
Single thread performance of 16-core AMD Ryzen 9 9950X is only 1.8x of my poor and old laptop's 4-core i5 performance. https://www.cpubenchmark.net/compare/6211vs3830vs3947/AMD-Ry...
I'm waiting for >1024 core ARM desktops, with >1TB of unified gpu memory to be able to run some large LLMs with
Ping me when some builds this :)
Yes, just went from i3770 (12 years old!) to a 9900x as I tend to wait for a doubling of single core performance before upgrading (got through a lot of PCs in the 386/486 era!). It's actually only 50% faster according to cpubenchmark [0] but is twice as fast in local usage (multithread is reported about 3 times faster).
Also got a Mac Mini M4 recently and that thing feels slow in comparison to both these systems - likely more of a UI/software thing (only use M4 for xcode) than being down to raw CPU performance.
[0] https://www.cpubenchmark.net/compare/Intel-i9-9900K-vs-Intel...
M4 is amazing hardware held up by a sub-par OS. One of the biggest bottlenecks when compiling software on a Mac is notarization, where every executable you compile causes a HTTP call to Apple. In addition to being a privacy nightmare, this causes the configure step in autoconf based packages to be excruciatingly slow.
They added always-connected DRM to software development, neat
Exactly. They had promised to make notarization opt-out but reneged.
Does this mean that compilation fails without an internet connection? If so, that's horrifying.
Yes, of course it does, isn't it nice?
Even better if you want to automate the whole notarization thing you don't have a "nice" notarize-this-thing command that blocks until its notarized and fails if there's an issue, you send a notarization request... and wait, and then you can write a nice for/sleep/check loop in a shell script to figure out whether the notarization finished and whether it did so successfully. Of course from time to time the error/success message changes so that script will of course break every so often, have to keep things interesting.
Xcode does most of this as part of the project build - when it feels like it that is. But if you want to run this in CI its a ton a additional fun.
None of this comment is true.
Compilation works fine without notarization. It isn't called by default for the vast majority of complications. It is only called if you submit to an App Store, or manually trigger notarization.
The notarization command definitely does have the wait feature you claim it doesn't: `xcrun notarytool ... --wait`.
Notarization isn’t called for the vast majority of builds on the vast majority of build systems.
Your local dev builds don’t call it or require it.
It’s only needed for release builds, where you want it notorized (required on iOS, highly recommended for MacOS). I make a Mac app and I call the notarization service once or twice a month.
Wait wait wait wait wait. So you're saying that a configure script that compiles a 5-line test program (and does this 50 times) to check if a feature is present or a compiler flag works... will have to call out to Apple for permission to do so??
Ugh. Disgusting. So glad I stopped using macOS years ago. (Even if this isn't actually true... still glad I stopped using Apple's we-know-better-than-you OS years ago.)
It is amazing to me that people put up with this garbage and don't use an OS that respects them more.
I jumped ahead about 5 generations of Intel, when I got my new laptop and while the performance wasn't much better, the fact that I changed from a 10 pound workstation beast that sounded like a vacuum cleaner, to a svelte 13 inch laptop that works with a tiny USB C brick, and barely runs its fans while being just as fast made it worthwhile for me.