This blog post examines how much smartphones equipped with multi-core processors actually contribute to performance improvements, or if it’s simply a marketing strategy.
We’ve entered an era where multi-core processors are commonly used in newly released smartphones. As smartphone specifications advance daily, the number of cores has steadily increased, with smartphones featuring nona-core (9 cores) processors already appearing by 2025. Each time the core count increases, phone manufacturers have heavily advertised, emphasizing that “the speed has increased proportionally to the number of cores.” At first glance, this seems plausible. But is it truly the case that increasing the number of cores directly improves smartphone performance? If so, does that mean more cores are always better?
To find the answer to this question, we must first understand what cores are in smartphones and what role they play. In smartphones, cores reside within the Application Processor (AP) and handle all computational tasks. As the name AP suggests, it runs smartphone apps and performs various operations within them. If running apps is likened to a cooking process, the core acts as the fire needed for cooking. In this analogy, a multi-core processor can be compared to a gas stove with multiple burners.
Imagine boiling ramen. First, you bring water to a boil, then add the noodles and soup packet to cook further. The speed at which the ramen cooks is most significantly affected by how quickly the water boils. So, if you use a gas stove with two burners, can you cook the ramen faster than with a stove that has only one burner?
If you use just one pot to boil the noodles, even with multiple burners available, you’ll only use one. Therefore, the water’s boiling speed won’t differ from using a single burner. However, if you prepare two pots and two burners, fill each pot halfway with water for boiling noodles, and place them on separate burners to boil the water, the water will boil faster than using just one burner. But this requires an extra pot and involves the hassle of combining the water afterward. Just as we wouldn’t go through the trouble of using two pots just to boil one bowl of ramen faster, programmers are no different. Most apps typically use only one core. To utilize two or more cores, the programmer must split the computational functionality into two parts. However, this is far more complex and involves many more considerations than dividing water for boiling ramen between two pots, so it isn’t frequently used.
For example, consider how to apply multicore programming to the chat feature, a key function of Telegram, one of the most widely used apps today. First, the operation must be split into two parts. The operation of exchanging messages can be divided into sending and receiving parts. These two operations are independent of each other, so they can run simultaneously on different cores. However, in this case, if the sending and receiving operations run on different cores at the same time, the message order could get scrambled. Because operation execution speeds are not always consistent, it’s possible that on my phone, the operation I send finishes first, while on the other person’s phone, processing the message I sent finishes later. This results in the order of messages seen by each party becoming reversed. This is the synchronization problem, the most critical issue in multicore programming, requiring programmers to take additional precautions to prevent it. Furthermore, since sending and receiving messages doesn’t require significant computation, running the process on a single core instead of applying multi-core programming often requires far less time and effort, with no discernible performance difference. Therefore, common apps like Telegram often do not implement multi-core programming. When running such apps, it cannot be assumed that multi-core processing inherently offers superior performance over single-core.
That doesn’t mean multiple burners are useless. When cooking two different dishes simultaneously, each burner can handle a separate task, making them quite useful. They’re also highly beneficial when a single dish involves multiple steps that can be done concurrently. For example, when making pasta, boiling the noodles on one burner while preparing the sauce on another significantly speeds up the cooking process. From a program perspective, multi-core processors can be very useful when running two or more different apps simultaneously or when running apps designed to utilize multi-core processing well.
However, for people who don’t cook often, a gas stove with three or more burners is simply a luxury. The smartphone environment is similar. On smartphones, it’s rare to run two or more main apps simultaneously. Of course, you might have two or more apps running in the background—like listening to music while using another app, or downloading one app while running another—even if they’re not visible on the screen. But you can’t run multiple main apps like playing a mobile game while simultaneously running a web browser. Furthermore, very few apps are designed to effectively utilize multicore processing. Even if they exist, they are mostly high-performance-demanding games. Since the CPU core is one of the most power-hungry components in a smartphone, this often leads to significant battery drain, preventing widespread adoption.
In summary, having a multicore processor in a smartphone does not automatically guarantee better performance than a single-core processor. Performance gains require apps to support multi-core processing. Realistically, however, few apps can effectively leverage multi-core for performance enhancement. The most common usage pattern is typically running one simple background app alongside the main app. Therefore, the efficiency of a smartphone’s multi-core processor peaks at dual-core. Beyond that, even with more cores, all cores are rarely utilized simultaneously, making significant performance improvements difficult to perceive. In practice, even Apple’s latest phones don’t show a significant performance difference compared to older models. While having more cores is advantageous for running multiple apps simultaneously or apps that can fully utilize all cores, the noticeable performance difference is rare. Moreover, using all cores increases power consumption proportionally to the performance gain, so it’s not purely beneficial.
We’ve examined the utility of multi-core processors in smartphones thus far. The reason increasing the number of cores doesn’t yield significant benefits is that few smartphone apps actually support multi-core processing. Therefore, smartphone manufacturers, who have been focused solely on boosting hardware performance, now need to shift their attention to software (apps). Rather than ads touting superiority based solely on the number of cores, we can hope to see ads highlighting products equipped with truly excellent software.