Originally Posted by NeoGrandizer
Sorry, I understand it is a dual-quad core. But it is an interesting concept if it was truly an octacore CPU (which it is not).
Right now apps don't exploit the raw processing power of a single core. Now if it was able to would that not be better than having it try to run through multiple cores? I (by all means) am not an expert. It was just an interesting thought I came across.
Ok, I understand where you're coming from.
Many apps are not just simple programs. Developers often build them with what we call threads, each thread controlling a certain function.
Take a music player. One thread can be dedicated to playing the music (by tying a stream to audio services) while another is providing the display with your controls and sensing your inputs. The operating system, if hardware is available and the dev wrote the app correctly, will run those two threads at once on separate cores. Now the audio services has threads to play the tune, and maintain routing as well as interruptions, say for a phone call. And the streaming bit is also divided into threads.
Some threads must run in a particular order, others can run in parallel.
On a single core, all of those things have to take turns. So now the operating system gets a thing called the scheduler and that has to run at a higher priority than anything else.
Distribute all of that to high speed multiple cores and everything not only runs much more smoothly, but the cores run slower by not being tasked so hard, thus allowing a high-speed multicore to use less of your battery than a single core.
And because Android is actually running a LOT of support services at once, each core in a multicore system is being managed exactly like a single core phone, because each core is executing more than one process or thread from within a process.
So, the key to higher performance isn't forcing things that could be parallelized across cores onto taking-turns on a single core - the key to higher performance is more intelligent thread control and process scheduling distributed across more cores.
To say that apps don't exploit the power of a single core is a point of view problem.
If they did, then they would not parallelize, and the operating system could not magically allow them to run better just by putting them on a more powerful phone. You'd have to actually start re-writing things as core count increased.
The way iPhone apps had to when they went dual core.
The way Around apps never had to because the design principles don't make the developer work that way.
This is why multicore optimization that I ranted about is just so wrong.
And why you don't want dedicated core processing for your apps.
There are industrial systems that split out as you suggest - I've written them. But those involve completely different problems, and that doesn't apply here.
Hope this helps!