Perché i processori dell’iPhone sono più efficienti e veloci dei telefoni Android?

I core dell'iPhone sono più veloci perché sono più grandi. Sì, sono davvero grandi core. Apple era seria quando ha detto "prestazioni di classe desktop". È grande quanto i core desktop di Intel ed è più veloce in alcuni aspetti.

Qui ci sono i die shot di Apple A8 vs Intel i7 4770k messi in scala:

main-qimg-0399bc7fa3ec651d3d44d7a6f7a24502.webp

E questo è come sarebbe il loro cluster dual core, uno accanto all'altro:

main-qimg-b56dbbfe4e1e1e7bd62e2b9252ce851e.webp

Tecnicamente, è efficiente solo in casi di utilizzo pesante. Un benchmark del 2013 suggeriva che i core Cyclone dell'iPhone richiedevano 6 watt per core. Anche il Cortex A57 nello Snapdragon 810 richiede meno di 3 watt per core.

Una sessione di gioco drenerebbe la batteria dell'iPhone in questo modo. Ma la maggior parte dei casi d'uso sono una situazione di "corsa al sonno". Cioè - fare il lavoro e tornare a dormire. Questo funziona nella maggior parte dei casi, come rispondere a un clic, scattare una foto, aprire un'app e così via, il che gli conferisce una buona efficienza generale.

E il fatto che iOS sia super ottimizzato è un malinteso comune. Non lo è. Android ha due diversi runtime, ha strati su strati di driver, un file system completo e mantiene la compatibilità all'indietro fino ad Android 1.0. Fa tutto questo con la metà delle prestazioni del singolo core dell'attuale iPhone. E riesce ancora a funzionare meravigliosamente se avete Android stock. Questa è vera ottimizzazione. Windows phone fa tutto questo più 3 runtime e 2 stack di librerie grafiche, il tutto su un hardware vecchio di 3 anni con 512 MB di RAM. Come lo chiami questo?

Apple non sta sfruttando al meglio i suoi vantaggi come azienda che ha a che fare solo con un numero limitato di hardware. Stanno perdendo il loro vantaggio nella raffinatezza che è più evidente ogni generazione che passa mentre Android subisce un'ottimizzazione aggressiva dopo che hanno smesso di aggiungere caratteristiche 2 anni fa mentre iOS si estende a sempre più modelli di più generazioni. Ed ecco alcuni dati di benchmark da Geekbench per gli amanti dei numeri:

main-qimg-787ddc5f2bc966d3fef43b2ccbaea446.webp

I core sono:
Apple Hurricane (o come si chiama)
Intel Haswell
Samsung Mongoose (dati trapelati)
NVidia Denver
ARM Cortex A57
AMD Steamroller
AMD Puma+
Intel Silvermont

EDIT:

Vedo che alcune persone si sono offese perché hanno pensato che stessi parlando male delle loro decisioni di acquisto. Non è così. Sono il più imparziale possibile. I punteggi dei benchmark sono legittimi - provenienti da Geekbench. Le istruzioni per clock indicano le prestazioni di due cure alla stessa frequenza di clock. La storia ci dice che questa è la metrica più importante nella progettazione delle CPU. I core Apple sono stati in grado di battere il più grande i7 semplicemente perché il loro peso per le decisioni di design coincideva con il peso di Geekbench's per i diversi carichi di lavoro. E il codice ha meno ramificazione della vostra tipica applicazione con riferimenti di memoria molto primitivi. Gettate dei riferimenti di memoria complessi in un codice altamente ramificato (come una base di conoscenza costruita su C#) e vedrete i core intel allontanarsi. Eseguite questo in una macchina virtuale e codificate i video nel secondo thread se siete decisi a far arrabbiare Apple. Inoltre i core della CPU sono circa il 60% (l'altra maggioranza è detenuta dalla GPU) del chip i7 mentre nei chip Mobile sono meno del 20%.

EDIT 2:

Le cose sono destinate a cambiare con Snapdragon 820 (core Kryo) ed Exynos 8890 (core Mongoose).