It's just doable when you care enough to optimize the OS for responsiveness.
If you're exclusively referring to the handheld market though, then you're mostly right. Apple's big lead in this generation is mostly because of how fast they were able to buy out the world's 5nm node. The only real "Android" manufacturer doing the same thing is Samsung, which is only because they have the means to fab their own chips.
So no, it's the the same wattage, but it's similar enough to be a valid point of comparison, especially for a chip that appears in laptops half the price of the base Macbook Air. Plus, as time goes on, AMD seems to be getting better about power management. If you take a look at the latest reviews for the Surface Laptop 4 with Ryzen, many reviewers were surprised to find that it lasted nearly 17 hours of video playback.
Zen2 would be incredible on 5nm. IMHO the improvements we saw with geforce 30XX series and zen 2 were 80% the switch to 7nm tsmc. I'd fully expect another jump if nvidia and amd were able to get their hands on 5nm, but it's apple exclusive for now :(.
Well, at least we get huge investments in chip manufacturing thanks to apple throwing money at tsmc.
APUs with Zen and Zen 2 cores were absolutely not outperforming the M1's Firestorm cores.
>In SPECint2006, we’re now seeing the M1 close the gap to AMD’s Zen3, beating it in several workloads now, which increasing the gap to Intel’s new Tiger Lake design as well as their top-performing desktop CPU, which the M1 now beats in the majority of workloads.
In the fp2006 workloads, we’re seeing the M1 post very large performance boosts relative to the A14, meaning that it now is able to claim the best performance out of all CPUs being compared here.
https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
You can't spend a decade pretending that performance doesn't matter, only to rear your head again when Moore's law is sputtering out and gasping for air. Apple's power over the industry is unchecked right now, meaning they can play all sorts of petty tricks to gaslight mainstream manufacturers into a playing different game. ARM is the first step in that direction, and I for one couldn't be more happy with the hardware I own. Well, maybe if I sold my Macbook Air...
Given that Apple took the power/heat drop with the transition from 7nm to 5nm instead of a performance increase, that's just not as relevant as it could have been if they had gone the other way.
However, that M1 is still running with a significant frequency and power draw deficit vs the Ryzen as well.
>During average single-threaded workloads on the 3.2GHz Firestorm cores, such as GCC code compilation, we’re seeing device power go up to 10.5W with active power at around 6.3W.
https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
However, you compete with the performance you have today, not some theoretical performance you might have if your chip was made differently.
I still don't understand your argument here though. It's impressive because Apple was able to get first dibs on next generation technology? Should I be applauding their engineers or fearing their supply chain managers?
> However, you compete with the performance you have today, not some theoretical performance you might have if your chip was made differently.
Sure, but there's not much fun in bragging about how your V8 demolished a 4-stoke. Plus, as the market for silicon fabs continues to heat up, Apple's lead on logistics isn't going to be so noticeable. They've also painted themselves into a bit of a scalar issue, too: the M1 occupies a bit of an ARM sweet spot right now. As far as I can tell, Apple's only choice for making a more powerful machine is to use better silicon: which won't be available until 4nm/3nm starts to hit production in Q32022, at the earliest.
The M1's performance lead wasn't created by a move from TSMC 7nm to TSMC 5nm.
See, here: https://news.ycombinator.com/item?id=27184236
The Firestorm cores in the M1 in the M1 get their performance from (among other things) having a very wide core that performs more instructions in a single clock cycle, despite running the cores much more slowly than AMD does.
There's a good break down of that and other design advantages here:
https://www.anandtech.com/show/16226/apple-silicon-m1-a14-de...
EDIT: I searched a bit and, although I haven't found instructions anywhere, I did find people saying that the low-latency kernel decreases throughput as a tradeoff to lower latency. Have you found this to be the case?
Also, another source says that the preempt kernel might be better for some workloads: https://itectec.com/ubuntu/ubuntu-choose-a-low-latency-kerne...
Can anyone comment on these?
In general terms, one either just installs the specifically recompiled package (-preempt, -lowlatency etc.), or recompiles their own. The related parameters can't be enabled, because they're chosen as kernel configuration, and compiled in.
I'd take such changes with a big grain of salt, because they're very much subject to perceptive bias.
I think most people just don't care or don't know that they care about responsiveness.
Turns out that the cost of NUMA balancing (https://www.kernel.org/doc/Documentation/sysctl/kernel.txt) was outweighing any benefit we might get from it. The problem is that NUMA balancing is implemented by periodically unmapping pages, triggering a page fault if the page is accessed later. This lets the kernel move the page to the NUMA node that is accessing the memory. The page fault is not free, however; it has a measurable cost, and happens even for processes that have never migrated to another core. The lowlatency kernel turns off NUMA balancing by default.
Instead of switching to the lowlatency kernel, we set `kernel.numa_balancing = 0` in `sysctl.conf` and accepted the consequences.
This, automatically turning on battery optimizations when an internal battery is detected, and automatically applying a 'small speaker' EQ to internal speakers are a few changes that would make Linux feel so much better on a laptop.
I'm actually not sure why it has the effect it does, entirely, because at least in terms of raw resource use the browser doesn't seem to be eating that much stuff, but the effect in practice has been well beyond what can be explained by perceptual placebo. (Maybe there's too many things competing to get the processor at the VBlank interval or something? Numerically, long before the CPUs are at 100% they act contended, even in my rather simple setup here.)
Or, to perhaps put it another way, Linux already has this sort of prioritization built in, and it works (though it's obviously not identical since we don't have split cores like that), but it seems underutilized. It's split into at least two parts, the CPU nice and the IO nice. CPU nice-ing can happen somewhat automatically with some heuristics on a process over time, but doing some management of ionice can help too, and in my experience, ionice is very effective. You can do something like a full-text index on the "idle" nice level and the rest of the system acts like it's hardly even happening, even on a spinning-rust hard drive (which is pretty impressive).