Laptops have usually at most four cores, and dualcores are probably more common. I have recently switched from quadcore to dualcore and I can confirm there is a limited number of usecases for quadcore, even with CPU intensive tasks.
On the other hands, at mobile phones, quadcores, hexacores and octacores seem to be common. Why? What tasks can utilize them?
I understand that big.LITTLE can be a part of the answer. That is, the main benefit of so many cores is not the ability to use all of them simultaneously, but rather using a core with power consumption appropriate for the current workload. However, for example, the Snapdragon 625 has eight Cortex-A53 cores, which does not seem to be a case for big.LITTLE.
Maybe the ARM architecture has a lower point of optimal performance per watt. That is, having a single core tuned for optimal performance per watt results in a lower performance on ARM than on Intel. So, more cores are used in order to deliver the performance. This is just a hypothesis.
But even in this case, I don't see what workload can efficiently use, say, eight cores on a mobile phone. On laptops, I can imagine a few like full (non-incremental) compilation of a project. But on phones?
- Games can be performance-hungry, but they usually require GPU performance rather than CPU, don't they?
- Theoretically, multiple cores could speed up Android Lollipop/Marshmallow AOT compilation when installing or when upgrading (i.e., the phase “Optimizing apps 3/121”). I am, however, not sure if this can utilize multiple cores. As far as I remember the code, only one app is being compiled at a time, but maybe there is some parallelism within the compilation process itself.
- Also Android 7+ could utilize multiple cores when compiling. But since it reportedly compiles when idle and charging, the benefit seems to be rather minimal. At least when one charges the phone overnight – I really don't care if it takes 30minutes or two hours in such a scenario.