7 ms·
> Overall the new A12 Vortex cores and the architectural improvements on the SoC’s memory subsystem give Apple’s new piece of silicon a much higher performance
by oflannabhra 8y ago
> Overall the new A12 Vortex cores and the architectural improvements on the SoC’s memory subsystem give Apple’s new piece of silicon a much higher performance advantage than Apple’s marketing materials promote. The contrast to the best Android SoCs have to offer is extremely stark – both in terms of performance as well as in power efficiency. Apple’s SoCs have better energy efficiency than all recent Android SoCs while having a nearly 2x performance advantage. I wouldn’t be surprised that if we were to normalise for energy used, Apple would have a 3x performance efficiency lead.
Wow.
- aw1621107 8y agoWow indeed. I'm impressed that Apple has managed to create and maintain such an insane lead in ARM performance for such a long period of time. Does anyone know of more technical reasons for Apple's ARM processors outperforming everyone else's by such a large margin, and for such a long period of time? Seems like there's some fundamental difference in what Apple is doing, and I'd love to read more about it.
- aninteger 8y agoCould it also be that a lot more of the applications are written and compiled to the native machine versus the overhead of a VM (even if that is JIT). I'd guess Minecraft pocket edition would perform similar on both systems.
- aw1621107 8y agoEven if more things are being compiled to native code instead of Dalvik, I don't think that would explain the benchmark results here, as I think SPEC is always compiled to native code. It seems there's something more fundamental to Apple's hardware that is allowing for such insane performance. As for Minecraft Pocket Edition, isn't that written in native code anyways? So I'd expect it to perform better on Apple hardware, assuming the hardware is actually the bottleneck for performance.
- avar 8y agoDalvik hasn't been used on Android for more than 4 years (since Android 5): https://en.wikipedia.org/wiki/Dalvik_(software) https://en.wikipedia.org/wiki/Dalvik_(software)
- aw1621107 8y agoLooks like things are still compiled to Dalvik bytecode for distribution, but get recompiled to native code upon installation. I didn't know that; I don't follow Adnroid closely, so the particulars of the runtime aren't something I'm familiar with. Still, TIL. Thanks!
- monocasa 8y agoThey added another JIT too. So first pass is the AOT installation binary, but it'll JIT traces too.
- mediocrejoker 8y agoJust speculating but surely it must have something to do with the entire stack being designed under one roof, no? Having the kernel devs be able to walk across the campus and ask the hardware guys what a register is for must speed up development immensely.
- pertymcpert 8y agoOnce the CPU reaches peak frequency the OS shouldn't be involved for CPU benchmarks. So it's more down to hardware.
- ken 8y agoI can see how the compiler and stdlib (aren't things like memcpy implemented in hand-tuned assembly?) could be highly relevant, though.
- pertymcpert 8y agoThey are, but that’s really low hanging fruit. If Android for example doesn’t use optimised memcpy implementations then they don’t deserve to exist as a serious OS.
- astrange 8y agoThat reminds me, when I read fast code in the 90s-2000s all the asm hackers were into writing their own cool memcpy. Were they just showing off, or did Windows actually never optimize their standard library? People still seem to like writing their own cool malloc, but memcpy not so much.
- pertymcpert 8y agoThere are some cases where it may make sense to write your own implementation, if you have a niche microarchitecture that has unusual performance characteristics that the OS doesn't provide optimized routines for by default. But for most u-archs the default optimized routines should do a good job. Things like malloc are quite a bit more complicated, and more workload dependent so there's still some opportunity specializing an implementation there.
- oflannabhra 8y agoThe article gets into some technical aspects, but focuses specifically on A11->A12 changes. Mostly, A-series chips have enormous L1 cache, great cache hierarchy and management, and very low memory latency. A12 specifically seems to have included an almost total redesign of the cache hierarchy. I'm sure there are many more reasons their designs significantly outperform competitors, but I've not seen any more publicly available analysis.
- aw1621107 8y ago> Mostly, A-series chips have enormous L1 cache, great cache hierarchy and management, and very low memory latency. Has this always been the case compared to contemporary Qualcomm/Exynos/etc. SoCs? Not implying your statement is wrong here; all I know is that the A-series chips have had a big performance advantage for a while now and I haven't read more detailed analyses in the past that may have given hints as to why. Also, how difficult is cache hierarchy/management to get right? For something as fundamental to good performance these days as cache, I would have expected the major players to be on more or less the same playing field.
- baybal2 8y agoThey are, but sram takes space, and thus money. Apple optimises chip performance Others optimize chip size
- aw1621107 8y agoSo if one of the other SoC manufacturers decided to match Apple's cache sizes, they should get similar performance? Or is that oversimplifying?
- nicoburns 8y agoI think part of it is that Apple aquired a very smart team of chip designers. That, and they probably give them a bigger budget probably explains most of the difference. Also, apple have pursued 2 (very) fast cores whereas other chips often have 4. Of course, this iteration apple have beaten almost everyone else to 7nm, so the difference is much more dramatic.
- tyingq 8y agoSome of it is likely just the high volume sales of a limited number of expensive phone models. They have the money to spend. Android manufacturers have more competition, and have to address the low end of the market too. Their money, and attention, is spread in a wider swath.
- sillyquiet 8y agoI dunno if I buy this. Sure the spread of Android devices and manufacturers is wider across the price and cost spectrum, but there are 'high-end' Android phone manufacturer as well. Samsung comes to mind, surely it's big enough to produce high-performance phones that can compete architecturally with Apple's SoC as well as addressing the developing nation / low-cost phone market?
- tyingq 8y ago"But there are 'high-end' Android phone manufacturer as well" Sure, yes, but not at a volume that allows them to create a processor that competes with iPhone only on their flagship model. Also, they can't charge $999 for their flagship. The average sales price for an iPhone is higher than the flagship model at Samsung.
- chipotle_coyote 8y agoWouldn't you consider the flagship model at Samsung the Galaxy Note 9? Which starts at... $999?
- scarface74 8y agoEven Samsung sales mostly lowend phones. The average selling price of their phones is still under $300. https://www.gsmarena.com/analysts_average_selling_price_of_a_samsung_phone_on_the_rise_thanks_to_galaxy_s8-news-26514.php https://www.gsmarena.com/analysts_average_selling_price_of_a... From everything I can tell and looking at the numbers, the high end Android market is minuscule.
- babypuncher 8y ago
- GeekyBear 8y agoOne factor called out in the article is the number of instructions that can be carried out simultaneously during a single clock cycle. >Monsoon (A11) and Vortex (A12) are extremely wide machines – with 6 integer execution pipelines among which two are complex units, two load units and store units, two branch ports, and three FP/vector pipelines this gives an estimated 13 execution ports, far wider than Arm’s upcoming Cortex A76 and also wider than Samsung’s M3. In fact, assuming we're not looking at an atypical shared port situation, Apple’s microarchitecture seems to far surpass anything else in terms of width, including desktop CPUs. https://www.anandtech.com/show/13392/the-iphone-xs-xs-max-review-unveiling-the-silicon-secrets/3 https://www.anandtech.com/show/13392/the-iphone-xs-xs-max-re... Apple first moved to wide CPU designs with the Cyclone CPU core found in the A7 SOC first used in the iPhone 5s. >With Cyclone Apple is in a completely different league. As far as I can tell, peak issue width of Cyclone is 6 instructions. That’s at least 2x the width of Swift and Krait, and at best more than 3x the width depending on instruction mix. Limitations on co-issuing FP and integer math have also been lifted as you can run up to four integer adds and two FP adds in parallel. You can also perform up to two loads or stores per clock. https://www.anandtech.com/show/7460/apple-ipad-air-review/2 https://www.anandtech.com/show/7460/apple-ipad-air-review/2
- baybal2 8y agoNetBurst... ?
- stephencanon 8y agoNetBurst was 4-wide with (IIRC) two of those ports double-pumped for certain operations, but limited to 4/cycle retire, I think.
- rayiner 8y agoNetBurst (like the P6 architecture before it) was 3-way decode/3-way retire. (Actually, NetBurst could decode just one x86 op per cycle into the trace cache; the trace cache could deliver 3 uops per cycle if there was a cache hit.)
- 8y ago
- grecy 8y agoGiven Apple can get so far ahead of the competition with ARM for small devices... I still think it's entirely possible they're going to make their own CPUs for desktop Macs, and that is the massive hold up on the "New Mac Pro 2019(ish)"
- ken 8y agoThe last time they changed architectures, they stuffed a new motherboard in an old case, to let developers get ready for the change. I think it's unlikely they'll update their flagship Mac to a new CPU architecture without notifying developers first. On day one, all existing apps would perform poorly, and that's not how you promote a new top-of-the-line system.
- tpetry 8y agoExcept they do it like their transition to Intel and emulate all software with the old architecture. But their new architecture would have to be very much better than intel. Or maybe they transpile x86/64 to their arm Rchitecture.
- grecy 8y agoIs there anything that stops them making their own x86-64 CPU?
- astrange 8y agoIntel and AMD's patent pool would have to expire for anyone else to jump in.
- frou_dh 8y agoThey're looking to win back workstation users, not alienate them further with a swathe of software compatibility issues.
- et2o 8y agoI have not seen much evidence for this idea.
- Someone 8y agoThey also write: ”This also gives us a great piece of context for Samsung’s M3 core, which was released this year […] Here the Exynos 9810 uses twice the energy over last year’s A11 – at a 55% performance deficit.” Doesn’t that mean the A11 already is three times as efficient as recent Android cores? (The Samsung M3 was in January’s Hot Chips)