I hear this statement a lot... how is this determined?
I hear this statement a lot... how is this determined?
The counter argument is that the other systems make up for this by having more cores, which is really a cop out. Single threaded execution has a far more direct effect on user experience, gaming performance, etc. They can't compete in core engineering so make it up by slapping on more fairly generic cores. It does appear that Samsung is responding to this and investing in more advanced core designs.
The final area is custom features like the neural engine behind real-time face recognition, real time 3D face lighting effects and such. The competition don't really have these at all, so we don't know how far behind they are.
There's a pretty good article on this linked below.
https://seekingalpha.com/article/4138071-apple-cpu-advantage...
Looking back, it makes sense that Qualcomm discarded their underperforming custom design efforts (at least for the mobile market). If ARM can deliver a competitive design, why not fully commit to their roadmap and save significant amounts on R&D costs?
I sometimes wonder how much of It Just Works was influenced by having slower machines. When doing everything takes longer, if you do it right the first time then it’s still faster than doing it twice.
https://en.m.wikipedia.org/wiki/Advanced_Microcontroller_Bus...
Secondly theres a large ecosystem of add on components designed work with ARM and be dropped into ARM SOCS, such as GPUs, Wifi modules, Gyroscopes, wireless modems, GPS, etc.
Thirdly there are a lot of SOC engineers very familiar with ARM. You can hire them streight from competitors, or college, including PHDs that have done research on it. Youd need to train up any new hirs from scratch on your architecture.
Finally theres a huge software development tool chain built around the established processor architectures. To support a new architecture youd also need to build a set of compiler back ends, bearing in mind the existing ones benefit from many years of tweaking and optimization.
The other license is getting ARM's implementation of a CPU (ie A57, A72 etc). Customers can parametize # cores, cache size, memory width etc, but the basic architecture is fixed.
I think both these metrics are now adequate, battery life is the single metric I am interested in now.
Here's the Anandtech article on the "few" tweaks Samsung has made to its 6 wide decode custom M3 cores in the upcoming Exynos 9810.
https://www.anandtech.com/show/12361/samsung-exynos-m3-archi...
Qualcomm probably could make better CPUs...but it needs to sell them for a profit, and they might not fit into all phone's physical size or power budget.
So, Qualcomm ends up making somewhat lowest-common-denominator chips. Economies of scale make it difficult to make a run of super good chips when Samsung uses its own in many markets, Apple uses its own--the world of high-end smartphones outside of Samsung and Apple is just too small.
They're taking their CPUs and clocking them at speeds the device can't support, except when brand new, then letting the device slow down over the corse of its usable lifespan.
It would be interested to compare an Apple and Qualcomm CPU after a year and a half, to see how the benchmarks have changed.
Really, because I have not heard of any other manufacturer with this problem?
https://mashable.com/2018/01/04/apple-slowing-down-iphones-w...
https://www.theverge.com/circuitbreaker/2017/12/29/16829512/...
https://www.engadget.com/2017/12/29/samsung-lg-claim-older-p...
https://forums.androidcentral.com/samsung-galaxy-note-8/8589...
This isn’t considered controversial
Snark aside, Apple's CPUs are pretty(really pretty) far ahead of Qualcomm's in single-threaded performance.
But it doesn't matter because if you're building an Android device you can't buy an A chip for it.
Any proper iOS application with be doing lots of GCD dispatchs, for starters.
Likewise on Android, Google had to change the OS behavior to just kill apps that insist in misusing the UI thread for long running tasks.
I don't remember when it was the last time any of my applications only had a single thread of execution on them, beyond shell and Python scripts.
Maybe around 2000.
And even then, the OS is juggling processes across all cores every few ms, so outside any benchmark winning game, there isn't much real world value in single thread performance.