In this blog post, we will look at how much smartphones with multi-core processors actually contribute to performance improvement, or if they are just a marketing strategy.
These days, multi-core processors are commonly used in smartphones. As the specifications of smartphones continue to improve, the number of cores is also increasing, and as of 2025, smartphones with nine cores have appeared. Every time the number of cores increases, mobile phone manufacturers have been advertising heavily, emphasizing that “the more cores, the faster.” At first glance, it sounds plausible. But is it true that the more cores there are, the better the performance of a smartphone? If so, is it true that the more cores there are, the better?
To find the answer to this question, we first need to know what a core is and what it does in a smartphone. In a smartphone, the core is located in the application processor (AP) and is responsible for all the calculations in the smartphone. As the name AP suggests, it is responsible for running apps on the smartphone and performing various calculations within the app. If the task of running an app is likened to the cooking process, the core plays the role of fire. In this case, the multicore processor can be likened to a gas range with multiple burners.
Imagine you are making instant noodles. First, you boil water, then add noodles and soup, and boil it some more. The speed of boiling instant noodles is most affected by the speed at which water boils. So, if you use a gas stove with two burners, can you boil instant noodles faster than if you use a gas stove with one burner?
If you use one pot to boil ramen, even if you have multiple burners, you will only use one, so the speed at which the water boils will be the same as if you had one burner. However, if you prepare two pots and two burners, and put half the water for boiling ramen in each pot and boil the water on each burner, the water will boil faster than when using one burner. However, you need to do some more work, such as preparing another pot and combining the water after boiling. Just as we don’t use two pots to boil one instant noodle, programmers don’t do the same. Most apps use only one core, and if they want to use more than one core, the programmer has to divide the computing function into two parts. However, this is not often used because it is much more complicated and has more considerations than using two pots to boil water for instant noodles.
For example, let’s consider how to apply multicore programming to the chat function, which is the main function of Telegram, the most widely used app these days. First, the operation must be divided into two parts, and the operation of sending and receiving messages can be divided into the message transmission part and the message reception part. Since these two operations are independent of each other, they can be executed simultaneously on different cores. However, in this case, if the message transmission operation and the reception operation are executed simultaneously on different cores, the message order may be reversed. Since the speed of performing the operation is not always constant, there may be cases where the operation I send is finished first on my phone and the processing of the message I send is finished later on the other person’s phone. This will cause the order of messages to be reversed. This is the most important problem in multi-core programming, the synchronization problem, and programmers need to take additional considerations to prevent this. Also, since sending and receiving messages does not require much computation, it is much less time-consuming and effort-consuming to simply make it work on one core than to apply multi-core programming, and there is no difference in performance. Therefore, general apps such as Telegram often do not apply multi-core programming, and when running such apps, it cannot be said that multi-core is unconditionally better than single-core.
This does not mean that a large number of burners are useless. If you are cooking two different dishes at the same time, you can use each burner for a different dish, which is useful. It is also very useful when the process of making even just one dish can be done simultaneously with more than one thing. For example, in the case of pasta, you can finish cooking much faster by using one burner to boil the pasta while using another burner to make the sauce. From a program perspective, multicore can be very useful when running two or more different apps at the same time or when running apps that are designed to take advantage of multicore.
However, for people who don’t cook often, a gas range with more than three burners is just a luxury. The smartphone environment is similar. On a smartphone, it is rare to run more than two main apps at the same time. Of course, there may be more than two “apps running in the background without being visible on the current screen,” such as running another app while listening to a song or downloading one app while running another app. However, it is not possible to run multiple main apps at the same time by running a web browser while playing a mobile game. Also, few apps are designed to make good use of multi-core CPUs. Even if there are some, they are mostly games that require high performance, and since the core is one of the parts of a smartphone that consumes the most power, it often consumes a lot of battery power and is not widely used.
To sum up, just because a smartphone is multi-core does not mean that it will automatically perform better than a single-core. For performance to improve, the app must support multi-core. Of course, in reality, there are not many apps that can take advantage of multi-core to improve performance. In general, the most common pattern is to run one simple background app and one main app. Therefore, the efficiency of a smartphone’s multi-core processor is at its maximum with dual-core. Anything beyond that is difficult to notice because even if the number of cores increases, it is rare to use all of them, so it is difficult to experience a significant performance improvement. In fact, Apple’s latest phone does not show a significant performance difference compared to other phones of the past. Of course, having more cores is advantageous when running multiple apps at the same time or when running apps that can use all of the multi-cores. However, it is rare to experience a significant difference in performance, and using all cores increases power consumption as much as it increases performance, so it is not always beneficial.
So far, we have looked at the usefulness of multi-core in smartphones. In fact, the reason why the number of multi-cores does not provide much utility is that smartphone apps do not often support multi-core. Therefore, it can be said that it is time for smartphone manufacturers, who have been focused solely on improving hardware performance, to now focus more on software (apps). Rather than advertising that a product is good simply because it has a large number of cores, we hope to see advertisements that feature products with better software.