513 karma · joined June 4, 2020
When you are using linear histories and rebasing you don't do monolithic feature branches. You land smaller chunks and gate their functionality via some configuration variable. `if (useNewPath) { newPath(); } else { oldPath(); }` and all your new incremental features land in `newPath`. All tests pass on both code paths and nothing breaks. When the feature is fully done then you change the default configuration to move to the `newPath`.
> How are you going to deal with non-trivial feature branches that need to be integrated into master?
That's the point -- this isn't a thing in rebase workflows. That's a feature. You don't have to deal with megapatches for massive features. It's incrementally verified along the way and bisect works flawlessly.
Not to mention that the article literally says "work for Netflix, get rich" based entirely on the fact that they are ignoring non-salary compesation. It's an outright idiotic conclusion to be drawn.
Hell, this Geekbench is faster than a desktop 125 watt 11900k. It's faster than a desktop 105 watt 5800x.
Apple intentionally played to the competition here. They know AMD/Intel reach some performance level X and released CPUs that perform no greater than X * 1.2. They know they are in the lead since they are paying TSMC for first dibs on 5nm, but they didn't blow their load on their first generation products.
Intel will release Alder Lake and catch up, AMD will reach Zen4 and catch up and Apple will just reach into their pocket and pull out a "oh here's a 45 watt 4nm CPU with two years of microarch upgrades" and the 2022 MBP 16 will have Geekbench scores of ~2200 and ~17000.
There's a de facto industry leader in process technology today -- TSMC. Apple is the only one willing to pay the premium. They also have a much newer microarch design (circa 2006ish) vs AMD and Intel's early 90s designs. That's a 10-20% advantage (very rough ballpark estimate). The also are on arm which is another 10-20% advantage for the frontend.
The big deal here is that this isn't going to change until Intel's process technology catches up. And, hell, I bet at that point Apple will be willing to pay enough to take first dibs there as well.
AMD will never catch up since we know they don't care to compete against Apple laptops and thus won't pay the premium for TSMC's latest art. Intel might not even care enough and let Apple have mobile/laptop market first dibs on their latest node if Apple is willing not to touch the server market. Whether or not they'd agree on the workstation MacPro vs 2 slot Xeon workstation market would be interesting.
It might be a long time before it makes sense to buy a non-Apple laptop.
Here's a test from 2007 that tests a similar error in the instruction selector:
https://github.com/llvm-project/llvm/blob/master/test/CodeGe...
Evidently the error that caused this test to be rewritten reordered the `ret` instruction before the `mov $1, $eax` instruction that sets the return value. This tests assures that the bug will never happen again.