Сегодня уже никого не удивить восьмиядерными однокристальными платформами для смартфонов и планшетов, а в конце года нас ожидает и решение с десятью ядрами. При этом, если посмотреть на смартфоны, основанные на SoC Snapdragon 600 или Snapdragon 800, в конфигурацию которых входит по четыре процессорных ядра, можно увидеть, что их возможностей и сейчас хватает для всего. Более того, даже система Snapdragon S4 Pro, на которой, к примеру, основаны смартфоны Motorola Moto X, Droid Mini, Droid Ultra и Droid Maxx, располагая лишь двумя процессорными ядрами Krait и GPU Adreno 320, в синтетических тестах превосходит некоторые современные восьмиядерные решения. Конечно, новые платформы отличаются не только увеличенным количеством ядер. Компании добавляют различные функции, оптимизируют энергопотребление и так далее. Но вопрос, зачем в новых SoC восемь, и тем более десять, ядер, остаётся открытым. Этим и занялся ресурс Android Authority.
Для сравнения были взяты два очень популярных решения: Snapdragon 801 и Snapdragon 615. Конечно, в составе смартфонов, но это не существенно. Напомним, первая SoC располагает четырьмя процессорными ядрами Krait 400 с частотой до 2,5 ГГц, а в конфигурацию второй входят два кластера с ядрами Cortex-A53, отличающиеся частотой (1,5 и 1 ГГц). Однокристальные системы нацелены на различные сегменты, но для данного сравнения это не играет роли.
Для тестирования были выбраны реальные приложения, а не синтетические тесты, что делает сравнение ещё более актуальным. Итак, первое приложение — браузер Google Chrome. На одних графиках отображается количество задействованных ядер, а на другом — степень загрузки каждого ядра.
Snapdragon 801
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/1_024.jpg)
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/11_002.jpg)
Как можно увидеть, браузер способен достаточно продуктивно загрузить все четыре ядра. Большую часть времени платформа использует все ядра, а загрузка каждого в среднем находится на уровне 60%.
Snapdragon 615
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/2_018.jpg)
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/22_002.jpg)
С оптимизацией своего приложения в Google явно поработали достаточно хорошо. Нельзя сказать, что все восемь ядер используются столь же активно, как и в случае четырёхъядерного решения, но в целом ни одно не отлынивает. А вот с нагрузкой всё иначе. Вычленить усреднённое значение достаточно трудно, но видно, что каждое ядро загружено значительно меньше, чем в случае старшей платформы.
Gmail
Snapdragon 801
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/3_012.jpg)
В целом, ситуация схожа с браузером, хотя нагрузка на платформу меньше, соответственно, реже используются все четыре ядра.
Snapdragon 615
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/4_010.jpg)
Все восемь ядер используются крайне редко, а нагрузка на каждое достаточно низка. Это объясняется тем, что само приложение гораздо менее требовательное, нежели браузер.
YouTube
Snapdragon 801
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/5_009.jpg)
YouTube сильнее предыдущих использует графическое ядро, а значит нагрузка на процессор меньше. Это хорошо видно на графиках. Зачастую более двух ядер ПО не использует, хотя нагрузка на них не самая слабая.
Snapdragon 615
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/6_005.jpg)
Тут ситуация аналогична, только нужно учитывать кластерную структуру платформы. Практически всегда используется только один кластер, вероятно, младший. Нагрузка на каждое ядро в среднем не превышает 30%.
Игра TempleRun 2
Snapdragon 801
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/7_004.jpg)
Для игр также в первую очередь важна графическая составляющая. В частности, данное приложение большую часть времени использует лишь два ядра, да и нагрузка на них находится в пределах 50-60%.
Snapdragon 615
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/8.jpg)
А вот в данном случае, скорее всего, игре просто не хватает производительности одного кластера, и в работу включаются дополнительные ядра. При этом, некоторые бывают нагружены на все 100%.
Также для сравнения взята неназванная четырёхъядерная платформа MediaTek.
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/88.jpg)
Любопытно, но SoC китайских разработчиков распределяет нагрузку более равномерно и задействует лишь три ядра практически всё время.
Игра Riptide GP2 показывает примерно аналогичное поведение платформы, хотя немного более процессорозависима.
На фоне всего этого можно увидеть, как работает тестовое ПО AnTuTu.
![Snapdragon 801 Snapdragon 615 многопоточная оптимизация](http://www.ixbt.com/short/images/2015/May/123123213_002.jpg)
Конечно, стоит отметить, что кроме игр в тесте присутствует три приложения, и все три — разработки Google. Вполне возможно, что в случае с ПО менее именитых создателей, оптимизация будет не настолько хорошей. Однако это не мешает сделать вывод, что и четыре и восемь процессорных ядер вполне могут быть загружены современными программами на ОС Android. Также стоит отметить, что достаточно современная платформа Snapdragon 615, несмотря на разделение на два кластера, может использовать и пять, и шесть ядер, а не чётко четыре либо восемь.