Патч против Spectre в iOS 11.2.2 замедляет устройства на 50%?

Материалы с подобными громкими заголовками широко растиражировали многочисленные техноблоги, использовав в качестве источника статью «iPhone performance benchmarks after Spectre security update» за авторством доселе малоизвестного блогера Melv1n (Melvin Mughal). Суть проста: Apple выкатила патч, призванный закрыть уязвимость Spectre в iOS; после его установки бенчмарк продемонстрировал значительное снижение производительности iPhone 6. Cсылка на пост была размещена на одном из крупных ресурсов, маленький standalone-блог Мелвина рухнул под «хабраэффектом», а интернет-аудитория принялась обсуждать очередную страшилку и клеймить позором Apple. Ну, а что всё-таки с патчем и с производительностью?
Чтобы проверить утверждение Мелвина, достаточно провести простой эксперимент по описанной в посте методике: провести замеры в бенчмарке Geekbench 4 до установки апдейта и после него на устройстве без jailbreak, закрыв все запущенные приложения.

iPhone 7 Plus демонстрирует однозначное (хоть и небольшое) увеличение производительности (или, точнее, счёта в бенчмарке) сразу после обновления iOS c 11.2 до 11.2.2: «попугаи» до апдейта, после апдейта, прямое сравнение (результаты мои).

image

Аналогичные репорты от юзеров iPhone 6s/7/8 (Plus), X и даже 5s регулярно встречаются в комментариях к подобным статьям: баллы в Geekbench немного выросли. Но, возможно, проблема затронула только SoC Apple A8, использующуюся в iPhone 6?

У меня нет шестого айфона, но есть iPad Air 2 — в нём используется трёхъядерный вариант A8, A8x. К сожалению, я забыл измерить его в попугаях до обновления, поэтому будем ориентироваться на средние значения с сайта Geekbench: 1796 баллов в тесте на одном ядре и 4161 — в многоядерном режиме. Прогон бенчмарка сразу после установки iOS 11.2.2 показал печальные результаты:

image

Неужели Мелвин прав? Результат в single-core приемлемый, но куда делась добрая тысяча баллов в multi-core?

Меня смутило, что после обновления айпад был тёплым (не горячим, но и не совсем холодным). Я повторил измерение на следующий день и получил совершенно нормальные результаты (чуть выше средних):

image

Очевидно, что на устройстве после обновления запустились некие фоновые процессы, скорее всего — оптимизация хранилища, индексирование и т.п., из-за чего производительность временно снизилась. С подобным я сталкивался как на яблодевайсах, так и на Android-смартфонах, которые даже могли сильно разогреваться в первые часы после обновления, выполненного без вайпа (полной очистки) пользовательских файлов.

Неизвестно, совпадение ли, что iPhone 7 Plus на SoC A10 показал нормальные (и даже более высокие) баллы уже спустя минуты после установки патча, а iPad Air 2 (и, очевидно, iPhone 6 у Мелвина Мугхала) на A8(x) запускал какие-то оптимизационные процессы, на время снизившие производительность. Я почти уверен, что эта особенность никак не связана с защитой от Spectre, скорее всего, просто «наведение порядка» в системе.

Итог: оба протестированных девайса не продемонстрировали хоть сколько-нибудь значительной и (или) стойкой деградации производительности после установки iOS 11.2.2. К сожалению, крупные порталы с миллионными посещениями, имеющие множество устройств для тестов и обзоров, не удосуживаются выполнять простейшие проверки материала, если есть шанс собрать побольше трафика на резонансной теме. Обновляйтесь смело — как минимум, если вы уже на iOS 11 и не используете джейлбрейк.

© Geektimes