Fact or Fiction: Android apps only use one CPU core

by: Darcy LaCouveeMay 25, 2015

We have had multi-core processors in our PCs for over a decade, and today they are considered the norm. At first it was dual-core, then quad-core, and today companies like Intel and AMD offer high end desktop processors with 6 or even 8 cores. Smartphone processors have a similar history. Dual-core energy efficient processors from ARM arrived about 5 years ago, and since then we have seen the release of ARM based 4, 6 and 8 core processors. However there is one big difference between the 6 and 8 core desktop processors from Intel and AMD and the 6, and 8 core processors based on the ARM architecture – most ARM based processors with more than 4 cores use at least two different core designs.

While there are some exceptions, in general an 8 core ARM based processor uses a system known as Heterogeneous Multi-Processing (HMP) which means that not all the cores are equal (hence Heterogeneous). In a modern 64-bit processor this would mean that a cluster of Cortex-A57 or Cortex-A72 cores would be used in conjunction with a cluster of Cortex-A53 cores. The A72 is a high performance core, while the A53 has greater energy efficiency. This arrangement is known as big.LITTLE where big processor cores (Cortex-A72) are combined with LITTLE processor cores (Cortex-A53). This is very different to the 6 or 8 core desktop processors that we see from Intel and AMD, as on the desktop power consumption isn’t as critical as it is on mobile.

The key thing to remember is that an octa-core big.LITTLE processor has eight cores for power efficiency, not for performance.

When multi-core processors first came to the desktop, a lot of questions were raised about the benefits of a dual-core processor over a single core processor. Was a dual-core 1.6GHz processor “better” than a 3.2GHz single core processor, and so on. What about Windows? Could it utilize a dual-core processor to its maximum potential. What about games – aren’t they better on single-core processors? Don’t applications need to be written in a special way to use the extra cores? And so on.

Multi-processing primer

These are legitimate questions, and of course the same questions have been asked about multi-core processors in smartphones. Before we look at the question of multi-core processors and Android apps, let’s take a step back and look at multi-core technology in general.

Computers are very good a doing one thing. You want to calculate the first 100 million prime numbers? No problem, a computer can loop round and round all day crunching those numbers. But the moment you want a computer to do two things at once, like calculating those primes while running a GUI so you can also browse the web, then suddenly everything becomes a bit more difficult.

I don’t want to go too deep here, but basically there is a technique known as preemptive multi-tasking which allows the available CPU time to be split among multiple tasks. A “slice” of CPU time will be given to one task (a process) and then a slice to the next process, and so on. At the heart of operating systems like Linux, Windows, OS X, and Android is a bit of technology called a scheduler. Its job is to work out which process should receive the next slice of CPU time.

ARM Cortex A72

Schedulers can be written in different ways, on a server the scheduler might be tuned to give priority to tasks performing I/O (like writing to the disk, or reading from the network), whereas on a desktop the scheduler will be more concerned with keeping the GUI responsive.

When there is more than one core available the scheduler can give one process a slice of time on CPU0, while another process gets a slice of run-time on CPU1. This way a dual-core processor, together with the scheduler, can allow two things to happen at once. If you then add more cores, then more processes can run simultaneously.

You will have noticed that the scheduler is good at slicing up the CPU resources between different tasks like calculating primes, running the desktop, and using a web browser. However a single process like calculating primes can’t be split across multiple cores. Or can it?

Some tasks are sequential by nature. To make a cake you need to crack some eggs, add some flour, make the cake mix etc, and then at the end put it into the oven. You can’t put the cake tin into the oven until the cake mix is ready. So even if you had two chefs in a kitchen you can’t necessarily save time on one task. There are steps to be followed and the order can’t be broken. You can multi-task, in that while one chef is making the cake the other can prepare a salad, but tasks which have a predefined sequence can’t benefit from dual-core processors or even 12 core processors.

If you still hear people saying things like, 'but a smartphone doesn't need 8 cores' then just throw your hands up in despair.

However not all tasks are like that. Many operations that a computer performs can be split into independent tasks. To do this the main process can create another process and farm out some of the work to it. For example, if you are using an algorithm to find prime numbers, that doesn’t rely on previous results (i.e. not a Sieve of Eratosthenes), then you could split the work in two. One process could check the first 50 million numbers and the second process could check the second 50 million. If you have a quad-core processor then you could split the work into four, and so on.

But for that to work the program needs to be written in a special way. In other words the program needs to be designed to split the workload into smaller chunks rather than doing it in one lump. There are various programming techniques for doing this, and you might have heard expressions like “single-threaded” and “multi-threaded.” These terms broadly mean programs which are written with just one executing program (single-threaded, all lumped together) or with individual tasks (threads) which can be independently scheduled to get time on the CPU. In short, a single-threaded program won’t benefit from running on a multi-core processor, whereas a multi-threaded program will.


OK, we are almost there, just one more thing before we look at Android. Depending on how an operating system has been written, some actions that a program performs can be multi-threaded by nature. Often the different bits of an OS are themselves independent tasks and when your program performs some I/O or maybe draws something to the screen that action is actually carried out by another process on the system. By using of what is known as “non-blocking calls” it is possible to get a level of multi-threading into a program without actually specifically creating threads.

This is an important aspect for Android. One of the system level tasks in Android’s architecture is the SurfaceFlinger. It is a core part of the way Android sends graphics to the display. It is a separate task that needs to be scheduled and given a slice of CPU time. What this means is that certain graphic operations need another process to run before they are complete.


Because of processes like the SurfaceFlinger, Android benefits from multi-core processors without a specific app actually being multi-threaded by design. Also because there are lots of things always happening in the background, like sync and widgets, then Android as a whole benefits from using a multi-core processor. As you would expect Android has the ability to create multi-threaded apps. For more information on this see the Processes and Threads section in the Android documentation. There is also some multi-threaded examples from Google, and Qualcomm have an interesting article on programming Android apps for multi-core processors.

However the question still remains, are the majority of Android apps single-threaded, and as such only use one CPU core? This is an important question because if the majority Android apps are single-threaded then you could have a smartphone with monster multi-core processor, but in reality it will perform the same as a dual-core processor!

In all my tests I did not see any real-world apps that used all 8 cores at 100%, and that is how it should be.

There seems to be some confusion about the difference between quad-core and octa-core processors. In the desktop and server world octa-core processors are built using the same core design replicated across the chip. However for the majority of ARM based octa-core processors there are high performance cores and core with better energy efficiency. The idea is that the more energy efficient cores are used for more menial tasks while the high performance cores are used for the heavy lifting. However it is also true that all the cores can be used simultaneously, like on a desktop processor.

The key thing to remember is that an octa-core big.LITTLE processor has eight cores for power efficiency, not for performance.


Android apps are able to take advantage of multi-core processors and big.LITTLE allows the scheduler to pick the best core combination for the current workload.

It is possible to get data from Android about how much it has used it core in the processor. For those who are technically minded, the information can be found in the /proc/stat file. I wrote a tool which grabs the per core usage information from Android while an app is running. To increase the efficiency, and lessen the performance hit of the monitoring, the data is only collect while the test app is active. The analysis of the collected data is done “off-line.”

Using this tool, which doesn’t have a name yet, I ran a series of different types of apps (gaming, web browsing etc) on a phone with a quad-core Qualcomm Snapdragon 801 processor and again on a phone with an octa-core Qualcomm Snapdragon 615 processor. I have collated the data from these test runs and with the help of Android Authority’s Robert Triggs, I have generated some graphs which show how the processor is being used.

Let’s start with an easy use case. Here is a graph of how the cores in the Snapdragon 801 are used when browsing the web using Chrome:

Chrome - Active cores on a quad-core phone.

Chrome – Active cores on a quad-core phone.

The graph shows how many cores are being used by Android and the web browser. It doesn’t show how much the core is being used (that comes in a moment) but it shows if the core is being utilized at all. If Chrome was single-threaded then you would expect to see one or two cores in use and maybe a blip up to 3 or 4 cores occasionally. However we don’t see that. What we see is the opposite, four cores are being used and it occasionally dips down to two. In the browsing test I didn’t spend time reading the pages that loaded, as that would have resulted in no CPU use. However I waited until the page was loaded and rendered, and then I moved on to the next page.

Here is a graph showing how much each core was utilized. This is an averaged-out graph (as the real one is a scary scrawl of lines). This means that the peak usages are shown as less. For example the peak on this graph is just over 90%, however the raw data shows that some of the cores hit 100% multiple times during the test run. However it still gives us a good representation of what was happening.

Chrome - Core usage on quad-core phone.

Chrome – Core usage on quad-core phone.

So what about an octa-core? Will it show the same pattern? As you can see from the graph below, no it doesn’t. Seven cores are consistently being used with the occasional spike to 8, and a few times when it dips to 6 and 4 cores.

Chrome - Active cores on a octa-core phone.

Chrome – Active cores on a octa-core phone.

Also the averaged core usage graph shows that the scheduler behaved quite differently since the Snapdragon 615 is a big.LITTLE processor.

Chrome - Core usage on octa-core phone.

Chrome – Core usage on octa-core phone.

You can see that there are two or three cores which run more than the others, however all the cores are being utilized in some way or another. What we are seeing is how the big.LITTLE architecture is able to swap threads from one core to another depending on the load. Remember the extra cores are here for energy efficiency, not performance.

It is a myth that Android apps only use one core.

However I think we can safely say that it is a myth that Android apps only use one core. Of course this is to be expected since Chrome is designed to be multi-threaded, on Android as well as on PCs.

Other apps

So that was Chrome, an app that is designed to be multi-threaded, what about other apps? I ran some tests on other apps and briefly this is what I discovered:

  • Gmail – On a quad-core phone the core usage was evenly split between 2 and 4 cores. However average core utilization never went above 50% which is to be expected as this is a relatively light app. On an octa-core processor the core usage bounced between 4 and 8 cores, but with a much lower average core utilization of less than 35%.
  • YouTube – On a quad-core phone only 2 cores were used, and on average at less than 50% utilization. On an octa-core phone YouTube mainly used 4 cores with the occasional spike to 6, and drop to 3. However the average core utilization was just 30%. Interestingly the scheduler heavily favored the big cores and the LITTLE cores were hardly used.
  • Riptide GP2 – On a phone with a quad-core Qualcomm processor this game used two cores most of the time with the other two cores doing very little. However on an phone with an octa-core processor, between six and seven cores where used consistently, however most of the work was done by just three of those cores.
  • Templerun 2 – This game probably exhibits the single-threaded problem more than the other apps I tested. On an octa-core phone the game used between 4 and 5 cores consistently and peaked at 7 cores. However really only one core was doing all the hard work. On a quad-core Qualcomm Snapdragon 801 phone, two cores shared the work fairly evenly, and two cores did very little. On a quad-core MediaTek phone all four cores shared the workload. This highlights how a different scheduler and different core designs can drastically alter the way the CPU is used.

Here is a selection of graphs for you to peruse. I have included a graph showing the octa-core phone idle, as a base reference:

One interesting app was AnTuTu. I ran the app on the octa-core phone and this is what I saw:

AnTuTu running on an octa-core phone.

AnTuTu running on an octa-core phone.

As you can see, the latter part of the test completely maxes out all the CPU cores. It is clear that the benchmark is artificially creating a high workload, and since nearly all the cores are running at full speed then SoCs with more cores will score better for that part of the test. I never saw this kind of workload on any normal apps.

In one way it is the benchmarks which are artificially inflating the performance benefits of octa-core phones (rather than the power efficiency advantages). For a more comprehensive look at benchmarking check out Beware of the benchmarks, how to know what to look for.

Why are light apps using 8 cores?

If you look at an app like Gmail you will notice and interesting phenomenon. On a quad-core phone the core usage was evenly split between 2 and 4 cores, but on an octa-core phone the app used between 4 and 8 cores. How come Gmail can run on 2 to 4 cores on a quad-core phone but needs at least four cores on an octa-core phone? That doesn’t make sense!

The key again is to remember that on big.LITTLE phones not all the cores are equal. What we are actually seeing is how the scheduler is using the LITTLE cores then as the workload increases the big core are brought into play. For a while there is a small amount of crossover and then the LITTLE cores go to sleep. Then when the workload decreases the opposite happens. Of course this is all happening very fast, thousands of times per second. Look at this graph which shows the utilization of big vs LITTLE cores during my testing of Epic Citadel:

Epic Citadel - big vs LITTLE core usage on octa-core phone.

Epic Citadel – big vs LITTLE core usage on octa-core phone.

Notice how at first the big cores are being used and the LITTLE cores are inactive. Then, at around the 12 second mark, the big cores start to be used less and the LITTLE cores spring to life. At the 20 second mark the big cores increase their activity again and the LITTLE cores go back down to almost zero usage. You can see this again at the 30 second mark, the 45 second mark, and at the 52 second mark.

At these points the number of cores being used fluctuates. For example, in the first 10 seconds only 3 or 4 cores are being used (big cores), and then at the 12 second mark the core usage peaks at 6 and then drops again to 4, and so on.

This is big.LITTLE in action. A big.LITTLE processor isn’t designed like the octa-core processors for PCs. The extra cores allows the scheduler to pick the right core for the right job. In all my tests I did not see any real-world apps that used all 8 cores at 100%, and that is how it should be.

Caveats and wrap-up

The first thing to underline is that these tests do not benchmark the performance of the phones. My testing only shows if Android apps run across multiple cores. The advantages or disadvantages of running over multiple core, or running on a big.LITTLE SoC, are not covered. Neither are the benefits or drawbacks of running parts of an app on two cores at 25% utilization, rather than on one core at 50%, and so on.

Secondly, I haven’t yet had a chance to run these tests on a Cortex-A53/Cortex-A57 setup or a Cortex-A53/Cortex-A72 setup. The Qualcomm Snapdragon 615 has a quad-core 1.7GHz ARM Cortex A53 cluster and a quad-core 1.0GHz A53 cluster.

Thirdly, the scan interval for these statistics is around one third of a second (i.e. around 330 milliseconds). If a core reports its usage is 25% in that 300 milliseconds and another core reports its usage is 25% then the graphs will show both cores running simultaneously at 25%. However it is possible that the first core ran at 25% utilization for 150 milliseconds and then the second core ran at 25% utilization for 150 milliseconds. This means that the cores were used consecutively and not simultaneously. At the moment my test setup doesn’t allow me any greater resolution.

But having said all that. Clearly Android apps are able to take advantage of multi-core processors and big.LITTLE allows the scheduler to pick the best core combination for the current workload. If you still hear people saying things like “but a smartphone doesn’t need 8 cores” then just throw your hands-up in despair, as it means they don’t understand Heterogeneous Multi-Processing and they don’t understand that big.LITTLE is about power efficiency and not overall performance.

  • Hans Pedersen

    The power of Apple’s professional FUD machine shouldn’t be underestimated. Just saying.

  • Martin Lane

    A better test would have been to test performance in a CPU intensive task on two different but comparable SoC’s with 4 and 8 core combinations and see if performance actually increases, Cortex A53 would be good for this as there are both quad and octa versions available.

    Android is splitting the load over cores but is this resulting in better performance?

    • Hans Pedersen

      A synthetic test like that is really the opposite of a better test. Multi tasking is (like the name implies) a benefit for complete multiple tasks at any time, not just running apps in multi switching mode.

      • Martin Lane

        There are plenty if real world apps on the market which are cpu intensive that are not games.

        Games are not very useful for cpu testing unless everything else is equal which is difficult when testing phones.

        Anyway we know Android can offload tasks to different cores, that doesn’t really answer the question users want answered.

        • Hans Pedersen

          The problem is still, you’re trying to base a performance judgement on limiting the test to software optimised for single-threading. That is as far as you can come from the reality with Android, where you at any time might have dozens of apps doing things at the same time. Even if you’re just using your phone for tweets and angry birds.

          • Martin Lane

            Well that’s the thing, we don’t know how many or which applications are optimised for multiple cores, that would be point doing these kind of tests.

          • Hans Pedersen

            I get the feeling you don’t understand the basic concept of a multitasking operating system. A single app doesn’t have to be optimised for multitasking. If you’re in doubt. Have a look at what usually tends to be in the top under battery usage; the Android system. Because it’s handling the multi tasking for apps.

          • Martin Lane

            I get feeling you don’t understand this at all Hans.

            But it’s okay, this probably the case with lots of Android users.

          • Hans Pedersen

            Are you illiterate or just dumb, Martin? Maybe both?

          • Martin Lane

            Oh dear, we’ve reached this stage already.

            Learn to communicate normally please, otherwise do us all a huge favor and stay offline.

          • Hans Pedersen

            If you learn to accept that you’re wrong, people might not react to your comments like that, all the time? :D
            So, just do us all a favour and feck off yourself, thank you very much.

          • NakedZealot

            He isn’t wrong, your talking about multitasking and he is talking about optimizing applications by using multiple threads to increase performance on multicore processors.

            Maybe you should learn to read and also learn why developers need to do this before jumping into a discussion you clearly don’t understand.

          • Hans Pedersen

            Using straw man-like arguments to talk about something irrelevant instead of keeping to the point is not being right, that’s just simple internet trolling.

          • NakedZealot

            The topic is very clearly about applications using multiple cores so with all due respect it’s relevant.

            Multitasking will only benefit an application when it’s given a dedicated core instead of running on the same core with other background applications and even then it’s going to be a negligible difference.

            That’s completely different to coding an application to use multiple threads so they use all available CPU cores.

            One will have little to no impact on the performance, the other will potentially increase performance by the number cores available.

          • Hans Pedersen

            The story is whether Android uses more than 4 cores or not, to analyse if they’re a waste, which they clearly aren’t. Trying to start an argument in the line of “an app not optimised for multi-core yet in need of more performance (an app I’d really like to see an actual example of in real life) is proof that multi core systems are unnecessary.

            It is literally straw man arguments on multiple levels, in a typical attempt to troll the discussion away from facts to FUD and other imaginary pseudo-BS. Throwing in words like “but developers…” doesn’t support stupid arguments. It just makes it sound more stupid.

          • NakedZealot

            I give up, you’re clearly an idiot.

            Note to others, don’t waste time on this moron.

          • Hans Pedersen

            Yeah, I understand that you’re still desperately trying to take words out of context to build an argument.

          • icemanchilled

            Stop embarrassing yourself Hans.

          • Hans Pedersen

            Okay then, give me a real life example where a user won’t have the benefit of the multi tasking capabilities with 8 cores, shown above in neat images to make it easier for illiterates, just because they use an app that’s not optimised for multi-threading.

          • mobilemann

            this comment shows you clearly have little understanding of 8 core little.big SoC design.

          • mobilemann

            i make this mistake too much @disqus_owgoGmHUkr:disqus but you’re right. He’s a fucking idiot.

          • sachouba

            The vast majority of the apps of the Play Store are able to use multiple core (at least on my Snapdragon 801): video players (MX Player, VLC, Youtube…), games (Modern Combat 5, Asphalt 8, Real Racing 3…), browsers, the camera, the gallery…

          • Martin Lane

            I’m sure many are, I just tried a few apps just at random, rar and two encoding applications and cpu utilization was only around 30% as the most they weren’t benefiting at from addition cores.

    • TDN

      This test was to provide proof that people saying multi-core processors are useless as all the cores don’t get used are wrong, which it obviously did. The test that you are suggesting is different than the intended results.

      • Martin Lane

        It would be a different test for sure but that’s kind of the point, we already know Android apps can use multiple cores and I don’t think we needed this to prove that.

        But I also don’t think it’s enough to silence users who say apps only use one core, as a general assessment it’s clearly wrong but there are probably many apps on the market this is true for and that is what users are generally refering too when they say apps only use one core.

        I don’t believe anyone whose said that actually beleived it was true for all applications, well maybe they did but it’s best if I not comment on them.. :p

      • Salmando (a.k.a ‘Bleh’)

        The ability to split tasks among cores doesn’t mean it isn’t useless. If i had 100 cores, and android used 80, unless it performed better than the same task on 2 core processor, or used less power, it is pointless.

        8 cores means nothing if it doesn’t have an advantage over 2 cores.
        I guess it adds to future proofing though (if that’s important in a phone to anyone but me.)

    • Aldrex Chama

      Regardless of performance, 8 cores at 1GHz will consume less power than 4 at 2GHz.

  • Pradeep Viswanathan R

    What phone did you use? Another problem is that the scheduler has to be properly optimized for you to do the test :)

    • TDN

      That is exactly why Lollipop has had so many issues since its release. With Android moving into 64-bit architecture the importance of the scheduler is much higher than on 32-bit, even when running on a 32-bit device. That is why there are so many issues with memory leaks and higher battery use as compared to the same device on KitKat or previous versions.

  • Omegaclawe

    Actually, this test proves rather little. The cores are “used” sure, but do they provide an energy savings? Do they provide a tangible performance benefit? These are things that can only really be measured through benchmarks and measurements.

    For instance: a quad-core processor working with all four cores but each under less than 25% load may actually use more power than running all tasks on the single core, depending on how much energy it takes to turn those cores on and keep them running, and how efficiently they step up in power use to full load. Meanwhile, in performance, a single core of the same architecture at twice the clock rate will pretty much always beat its dual-core counterpart (the exception coming when a process uses more memory than the cache can hold but can be divided into two parts that use less) due to there being virtually guaranteed parts of a program that cannot be parallelized, duplication of certain efforts, and perhaps the biggest issue: memory management. This is more or less why Intel’s high IPC processors are beating the pants off of AMD’s many-cored alternatives… their individual cores do much more with their time.

    Of course, with PC’s, there’s very little disadvantage to adding more cores… sure, it eats at your silicon budget and uses more power, but the former is dominated by crappy IGPU’s anyway and the latter is mostly irrelevant to the majority of users. Meanwhile, on phones, the ONE thing people keep asking for is better battery life, NOT more performance, and using 8 cores at once, regardless of how different they may be, achieves quite the opposite effect.

    • WestFiasco

      The goal of the test was to see if the cores are used, the tester achieved that goal. Energy savings as you mentioned is irrelevant in this instance, the test proves everything the tester set out to do. Ask for another article specifically about power savings but this one, is complete.

    • Oobiewan

      If you just think about it, in the last 5 years, the performance of phones increased very rapidly. Still, the battery life did not get any worse. And that can only be the result of better energy-efficiency.

    • Rob Triggs

      “ONE thing people keep asking for is better battery life, NOT more performance, and using 8 cores at once, regardless of how different they may be, achieves quite the opposite effect.”

      I think you’ve missed the point. Eight cores are not used for maximising performance, but to improve energy efficiency. None of the tests, bar the artificial benchmark, maxed out all eight cores at once, as is the intention. The big vs LITTLE graph demonstrates the balancing of the workload between the clusters to ensure enough performance too.

      Going beyond Gary’s article, the energy differences between the A7, A53, A15 and A57 are quite well documented already. For example, Anandtech suggests that a 1.3GHz quad-core A53 configuration consumes around 0.87W in an Exynos 5433, while a lower clocked 700MHz quad A57 design demands 1.18W. Furthermore, there isn’t a linear relationship between clock speed and power consumption, higher clocks gradually demand more and more power. A 1.3GHz quad A57 setup looks to consume around 2.88W!

      Your assumption that 8 cores, “regardless of how different they may be” always increases power consumption does not appear to be true.

      • True_Neutral

        “Furthermore, there isn’t a linear relationship between clock speed and
        power consumption, higher clocks gradually demand more and more power”

        Correct; to be precise the formula for the relationship between power and frequency is generally described as:

        P = CV²f

        where C is capacitance, f is frequency, and V is voltage.

        Notice how voltage is squared. As frequency increases a higher voltage is needed to keep the CPU stable. A side effect of this is that it produces heat, which in turns requires that the CPU draw more power. (Yes, you read that right. A hotter CPU requires more power than one that is running cooler (either due to better cooling or whatever.))

        This is one reason why Intel quickly abandoned the Netburst architecture of the Pentium 4. The long term plan for that architecture was to make use of its deep pipelines by increasing clock speed to 3.0Ghz and beyond. The realization of the above equation quickly put a nail in the coffin (coupled with AMD’s dominance with the Athlon XP)

        So, CPU designers are not dumb, despite what plenty of armchair engineers crying about “MOAR CORES!” will tell you. An octo-core CPU with relatively low clock speed will be more power efficient than a dual-core one with high clocks; Just take a look at the Tegra K1 in the Nexus 9. Obviously increasing IPC would be best, but don’t be surprised if ARM has picked all the low hanging fruits in its architecture design and will face increasing difficulty increasing IPC, just as Intel is facing now.

    • Francisco Enrique Perez Abreu

      Why are you asking different things than what he wanted to prove?

      Did you even read the whole thing?
      “This test do not benchmark the performance of the phones. My testing only shows if Android apps run across multiple cores”

      Even the title says that.
      So this doesn’t “prove a little”

    • Martin Lane

      Completely agree, other than confirming what we already know in that Android applications can use more than one core, this doesn’t go far enough to prove the claims users generally make.

      The claim was not that all applications only use one app, but that the majority of applications are single threaded and generally gain little to nothing from using multiple cores and this hasn’t been dis-proven at all.

      • Ionut Ionut

        I think a better analogy will be :to use dump 10 movers to carry slowly your furniture on the stairs vs using one fast mover to move it quickly but sweating like crazy

  • SAM


  • Shubhs

    As of now I was of the understanding that only a TRUE octa core processor uses the 8 cores together and the big little uses a chunk of 4 cores as per the workload.

    • That was true with some of the early Exynos processors but all the latest Samsung, MediaTek and Qualcomm processors due fully HMP.

      • Norris

        My GS4 has Exynos 5420 but doesn’t has True Octa cores as it also uses big.LITTLE
        I’m not clear of one thing does the new processors using big.LITTLE arch run all cores together or is it same like the prev ones?a bit confused.

        • Yes, the newer Exynos processors (like the one in the GS6) and all the octa-core processors from MediaTek and Qualcomm are capable of using all 8 cores at once.

        • David Onter

          big.LITTLE doesn’t mean that all cores cannot be active at the same time, it just means that you have different clusters of cores for different purposes. One energy-hungry for more demanding tasks and one energy-efficient for normal apps, etc. This was only a problem with older big.LITTLE implementations; current octa-cores can use all cores at once, even though that’s not the point of the big.LITTLE-setup.

          • Shubhs

            It means that we can quantify the 4 low power cores for power savings and all the 8 cores (higher clocked as well as lower clocked) for performance?

            Is it then like comparing an octa core processor [low+high cores] with a quad core processor [all high performance cores]

            Or re framing what is better for performance?
            Octacore [1.7 GHZ +1.1 GHZ, all cores running simultaneously] or Quadcore [2.5 GHZ all cores running simultaneously]

          • Unfortunately you can’t quantify it like that, the model is much more complex. Also benchmarks aren’t that useful in this situation as my AntuTu graph shows in the article.

            With regards to the Snapdragon 801 and 615, it is again hard to make direction comparisons about the overall performance/cores because one processor uses a Cortex-A15 and the other uses a Cortex-A53. The A53 has a lower performance that the A15.

            This means an octa-core A53 SoC will still be slower than a quad-core A15 because, as my tests show, there a no situations (except benchmarks) when all 8 cores are running at max utilization. Plus, the fastest A53 cores in the 615 are clocked at 1.7Ghz, whereas the Cortex-A15 cores (which have better performance than the A53) are generally clocked at 2.3+ GHz in 801 SoCs.

      • Shubhs

        What I remember is that Mediatek came up with the worlds first true Octa core processor and then I just assumed that an octa core should be branded as “TRUE OCTA CORE” for performance otherwise you just have two sets of quadcore processors. Correct me if I am wrong

        • The whole “true octa core” thing was just marketing as MediaTek wanted to capitalize on the fact that the early Exynos processors couldn’t do full HMP. That is no longer true and there is no requirement or convention that the words “true octa core” need to be used.

  • rasty++


  • Nishanth Ananth

    Are a7 and a15 cores as powerful as the a53 and a72 apart from being 64 bit

  • Himanshu Ahuja

    Damnit! Change your website font!

    • Karly Johnston

      or get rid of the taskbar so we can double tap.

  • pwk

    What about the Samsung Exynos 7 inside the Galaxy S6 & S6 Edge? Is it big.Little processor? It’s the first time I read about information like this, and it is very interesting. Thanks for doing all the research.

    • Hans Pedersen

      Yes, they’re using the regular ARM architecture on the current Exynos processors.


    How does the iPhone compare? Does it multitask the same way? Why does it do extremely well on benchmarks but perform equally if not worse than Android in real world test like opening apps or running multiple apps? love my turbo!

    • TDN

      It would be impossible for the iPhone to multitask the same way since it is built on a dual-core processor and limited multi-thread architecture, similar to an x86 PC.

  • Mario Junior

    The Youtube app uses the GPU more than the CPU.

  • David Onter

    Maybe you should have tested Apps which aren’t from Google too. Because the quality of 3rd party applications is probably worse.

    And take for example this:

  • David Onter
  • bendgate

    Thank you for this well detailed article.

    detailed enough to shut up all those uneducated crapple fanboys.

  • Sumitro Bhaumik

    excellent article!

  • Shawny

    Yup… iPhone users may [insert excuse here] about how this doesn’t matter at all.

    • abazigal

      No need. Anandtech has already done that for us, and in a far more eloquent manner than any of us could have managed.

  • Karly Johnston

    You forgot to test Android running idle as a base reference before testing app usage. The focus of the question is how many threads are running at full to run the app.. . not how many little skank cores are running background processes.

    • I didn’t, it is one of the graphs in the gallery. As the text says just before the gallery, “I have included a graph showing the octa-core phone idle, as a base reference.”


      • Karly Johnston

        Android running idle uses up to 6 cores which makes the entire exercise futile when running an app can be the same or less.

        • Errrr…. No…. It uses 6 cores for a 3 second burst in the middle of a 60 second test run. It is important to look at the utilization numbers as well…

  • Bruce Willis

    This crap is a bought article to make the Samshit buyers think “I must be imagining the lags, the 16 cores are needed!”.

    A dual-core that benchmarks the same as an octa-core is definitely better and faster in mobile. Those people who make octa-cores that still bench like a dual-core are just desperate to keep up and they have no other choice since they lack the technology to create better cores.

    It is just like the AMD-Nvidia situation. One company makes graphics cards, the other makes ovens that are trying to say “I’m keeping up” when they aren’t.

  • ToVine

    Is this article by any chance the result of a discussion in the comments section of the article about multi-core in mobile? :P

  • realjjj

    Yet to finish reading and i might edit later to add things but for now 2 things.
    SD615 is a poor choice, it’s almost certain that it overheats so power management kicks in , throttles and even locks some cores. If the tool works on better 8 cores (Mediatek, Samsung and i guess Marvell should have 8 cores out soon), it would be great if you could test on any of those.
    Can you provide a graph for each core or high res graphs with more color differentiation, it just gets too messy as it is.

    Edit: Looking at GPU load too would help, SoC makers got to balance power and an active GPU would lead to less TDP allowed for the cores.
    Would also love to see a comparison between different browsers for core utilization. In theory using more cores would be better.

  • hashmi58

    (*****-_-_-_-_-_-_-******) androidauthority====== —->SEE INFO< <<<< >

  • jscriv

    Great article, I learnt a lot. Thanks for writing it :-)

  • MacArthur

    There is much truth to this article but there are some questionmarks to the conclusions. If what you say in the article was entirely true, how do you explain that a MT6732 (4-core) and a MT6752 (8-core) get the same score (at same CPU clock freq.) in Sunspider 1.02 or JetStream java benchmark in Chrome? Also, core usage and the number of active cores is not a measure of the efficiency and throughput. You can have a situation where seemingly many cores are active but only one is doing any real work. Also, core usage can’t be measured entirely by at what clock frequency it is at as a function of time. Clock freq. is not a measure of throughput. Theoretically you could have a situation with all cores at max freq. but only one with any real throughput.

  • Huu Nguyen

    So explain me why iphone 6S 2 cores 64 bits A9 processor humiliate octo core based phone according to benchmark?

    • Dennis James

      Because the two cores are very powerful. Which also means that you need to charge your phone twice a day.

    • Magic Katz

      Geez another Apple fan boasting about the A9. Having more cores enhances workload not performance. Focus on real world performance instead of those silly benchmarks.

      • CelestialTerrestrial

        Apple does use different CPU and GPU core designs. So, the actual design of the core used with vary and that makes a big difference when comparing one processor to another. Apple, for many years, has been using more advanced CPU and GPU core designs and they simply don’t use more cores just to have something to use as a marketing gimmick.

        The other aspect is that Android uses Garbage Collection and Apple uses ARC with their mobile devices. I believe, from reading about the difference from programmers that program for both platforms, that ARC is less problematic and actually the better choice than Garbage Collection.

        Something that is more typical in the Android world is overclocking. Many of the mfg want to have “great specs”, and overclocking is a cheap way to manipulate their “great specs”. But overclocking can lead to reliability issues because the chips simply weren’t rated at the higher clock speed. Apple doesn’t do overclocking and I don’t believe they ever have done this on any computer. PC mfg would do this routinely as it’s a cheap way to market their product as having a higher clock speed, but the processors weren’t necessarily the more expensive processors, so they just did overclocking to manipulate for marketing purposes. It’s a sleazy practice.

        Obviously, the bottom line is if you, the user, have a device that’s more prone to laggy performance. If it does, then the device lags. Android devices are more prone to having laggy performance and obviously that depends on the device, what and how many widgets you have running, etc. etc. That’s why some people strip their Android phone of the add-on UI, so they can get better performance. I’ve run into a lot of Android users that will tell you to strip the thing down to basic OS, because there is so much added by the device mfg, that it doesn’t perform as well. Some people like the added UI features, some don’t.

  • Jaisah Sol Webb

    So basically everyone thought that having heaps of cores was for multitasking purposes but really the phone needs to use a significant number of cores just to run 1 app while the others sit idle. Is there any advantage to this over just running 1 or 2 powerful cores instead of running 4-8 weaker cores? Surely having more cores increases the power draw.

  • No Ta

    Interesting for phones and power saving but I wonder what will happen as the Android TV , TV stick , TV box market matures is there a function in these cores that says power not a problem as not on battery go for maximum speed when needed for performance. Thinking high graphic intensive games or anything that would benefit going for performance without battery time worries. While high end A53 and A57 TV boxs exist the lower cost Quad A9 have a place but how would Octa core A9 fair I wonder?

    I have and own a Advent Vega note Tegra 4 tablet that uses 5 core ( fifth ) core power saver, also Cube7x C8 which is phablet and has 8 x A7 cores but the Advent Note is better and faster with longer battery life. Might just be a better design battery but design and implementation does affect the system in my limited experience. Which brings me back to the TV market where low power Roku style boxes are starting to merge with possible game console / TV devices will they need a different Soc design strategy to reach their best performance level or is the need for market size going to mean design games to the lower power needs overr maximum performance?

  • Arman

    Now the real question is knowing that Snapdragon 820 performs better on single cores and 8890 has better performance on multi-cores on the different Samsung S7 variants, overall which one is going to be utilized and perform better!?

  • This is a very well written article. I recently bought a Galaxy S7 and was curious about the multi-core benefits.