@Artemis you make good and insightful arguments. It would take me too long to reply in similar depth, so for now I will just limit myself to some notes. I hope we can continue this conversation later. The biggest issue I see is lack of high-quality data and the piss-poor methodology used by pretty much everyone.
That is a very good point! I would love to see similar measurements for Apple devices, unfortunately, there is no obvious way to achieve this. Probably what
@jbailey said makes most sense (look at battery discharge rate aggregated over a workload), the big challenge here is excluding the power cost of I/O.
It was never clear to me how exactly Andrei did his measurements. In the early tests it appears he used power draw at charger (load - idle). Later he used powermetrics.
Andrei would do power draw at charger, or hook directly into the PMIC fuelguages. He never solely relied on PowerMetrics or modeling, certainly not for the iPhone. He works at Qualcomm now and there’s a reason for that — much like Anand was poached by Apple. And it isn’t about fandom (though in Anand’s case that was true haha)
For the SPEC power consumption Geekerwan uses internal Apple APIs to report clocks and power (
https://github.com/apple-oss-distri...659680b2a006908e/doc/observability/recount.md). I do not know which other methods they use. I very much doubt that attach a multimeter to the VRMs to measure their power.
Geekerwan used to remove batteries and measure with a high sample rate, it was only as of the A17 he switched to the undocumented Apple APIs which was stupid and now I don’t trust it, but I’m sure it’s less effort and he likes that. Good business, bad practice IMHO.
There are plenty of internal sensors on Apple Silicon, including some that allegedly report SoC power, but that stuff is not documented and I don't know how reliable it is.
Yeah, but doing so accurately is difficult and that goes for everyone. There was a discussion about this in another (non-Apple) hardware forum where everyone just kind of agreed “yeah we don’t trust anyone’s and you can’t cross measure because they’ll use different modeling, include different parts for a “CPU” or “package” and use different physical sensors too. Basically, you do it at the wall ideally no battery or to the VRMs I think, and outside of that I consider this stuff only directionally useful in the sense of like, ok sure an Apple powermetrics figure is on the dartboard, same for a full package result elsewhere, but still not great.
Powermetrics (and the rebound API) values make sense to me, because they are consistent. I did compare the reported values with the battery stats and it all checked out for me.
The discrepancy Andrei observed can be explained in a variety of ways. It is always difficult to measure these things on a battery-powered device, especially if it is a "smart" battery — you never know what is going on. He might have observed lower wall power since because the system has decided that the battery needs cycling or that the power system needs balancing.
Yes, this is true, (he is aware of that and notably had an argument with Golden Reviewer where Golden Reviewer experienced that exact thing, but it was a firmware change, where the battery would draw power for the task *and* charge itself for a bit, but it was fairly discrete and he identified it — Golden Reviewer did not and accused Andrei of Apple favoritism because his GPU power was a good 1-2W lower).
But on powermetrics and what people understand as “my Mac or PC’s power” this is generally still true today and this time he has actually hooked the things up to the VRMs — consider where he works.
I also want to point out that PowerMetrics at least
tried to measure DRAM in the past and the full package —
it no longer does so. It is now CPU, GPU and ANE. And you’re certainly not getting power delivery weirdness in there.
Good example here; the M2 Max draws 17-22W in ST platform power (yes, it does, that’s why Qualcomm compared X Elite’s power specifically to an M2 *Max* and said “hey at their performance we can do it for 30% less” even tho M2 Max barely differs in ST from the other M2’s, it just has more power delivery and memory overhead. I saw that you and others thought they meant they were 30% more efficient than “Avalanche” but this is exactly the sort of detail about power as it exists that is both great for “technically true” marketing and also elided by fans and still very important in any case. And it’s not actually surprising nor is that even a bad result for a huge chip with a 512-bit bus and that’s inclusive of everything active. AMD and Intel will do that same 17-22W figure for crappy 128-bit chips just cause, so don’t take this for dogging Apple. (And it was a shady comparison by QC for that reason, they would not be ahead of the regular M2)
You mean 15 watts, right? That's what I see on the graph at least. Or am I misunderstanding something?
Hmmm there are two different ones, I know what you mean — I’ve seen 12 but maybe it’s stretched. Will get back!
That is a very good observation. These results are all over the place. Geekerwan also does multiple measurements — some with the aggressive cooling, some without. Already in the slides they publish there is a relative error of 3-5%. This essentially makes all the conversations about IPC entirely meaningless.
What we need is more clear methodology, clear reporting of clocks and power draw, multiple measurements across multiple devices, and estimating variance, not just reporting points.
Yep. I don’t think we’re going to get it though :/. In the west the best guys get poached.
The only good news about Geekerwan is he still measures Android directly afaict, and those A14 to A16 results were still externally monitored with a proper 2x frequency sample rate.