Патч против 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 и не используете джейлбрейк.
    Поделиться публикацией
    Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

    Зачем оно вам?
    Реклама
    Комментарии 27
    • 0
      Как писала Apple, данное обновление уменьшило вероятность применения Spectre исключительно в WebKit (Safari и другие браузеры, использующие его). К сожалению, по поводу ядра ничего не сказано, поэтому все изменения производительности касаются, похоже, лишь оптимизации, что автор и предположил в тексте статьи.
      • 0
        Тогда надо не в гикбенче замерять, а в чем сейчас попугаев в бразерах меряют?
      • +1
        Учитывая, что это просто софтовый патч, можно предположить, что Apple могли/успели отключить его действие при исполнении стандартных тестов производительности. Вероятно выводы стоит делать на основании либо каких-то нестандартных тестов либо субъективно.
        • +1

          Вот Вам субъективная оценка, Айфон 7, 11.2.2, падения производительности не было замечено ни в играх, ни в приложениях, ни в интерфейсе системы. Специально пол дня драконил телефон после той статьи :)

          • +1

            Срочно побежал делать свой бенчмарк, эксплуатирующий чтение из кэша.
            Ах, это практически невозможно применить на практике? Сейчас придумаем, как!

          • +1
            Вот что меня удивляет в современной тенденции что с iOS, что с Android, так то что гаджеты по сути живут своей жизнью, в случае устройств с iOS производительность гаджетов на одном чипе может сильно различаться в зависимости от состояния батареи (и версии libastral.so) и пользователь никак не может на это повлиять, устройство может некоторое время что то переваривать после обновлений (интересно что же, вот вывели бы уведомление нажав на которое можно посмотреть подробности, сложно что ли) и так далее. А при стандартных настройках устройство ещё и лезет качать ти самые обновления, как своей прошивки так и программ по каждому чиху.

            При чём всё это сделано довольно непрозрачно. Лично у меня есть андроид с выпиленными гуглосервисами, и он ничем подобным не страдает принципиально. Но тенденции не могут не напрягать, с каких пор устройство считает себя умнее пользователя?
            • +6
              с каких пор устройство считает себя умнее пользователя?

              С выхода Windows Vista в 2007.
              • 0

                iPhone тоже вышел в 2007.

              • 0
                На Win XP уже началась эта тенденция, Win 2000 была самая дружелюбная к пользователю.
              • 0
                Не только iOS и Android. На форумах владельцы маломощных ноутбуков с медленным жесткими дисками иногда жалуются, что ноут очень сильно тормозит пока Windows 10 не скачает и поставит все доступные на данный момент обновления. А так как обновления выходят часто, то пользоваться ноутбуком становится вообще невозможно.
                • 0
                  Производители всегда считают себя умнее пользователя, особенно в случае с Apple, дабы иметь как можно меньше проблем со стороны этих самых пользователей.
                  • 0
                    С тех пор, как устройства стали умнее пользователей ;)
                    А если серьёзно, то рядовому пользователю (вот мне например) это и нужно. Я не хочу возиться в настройках, не хочу знать про версии прошивок и т.п. Мне нужно устройство, которое работает и имеет все самые современные функции. А настройка всего и контроль над всем нужен только гикам, которых единицы.
                    • 0
                      >Мне нужно устройство, которое работает.
                      Вот, мне тоже, а все эти «фичи» уже чаще мешают работоспособности, просто удаление гуглосервисов привело к тому что устройство стало несколько дольше держать батарею, а ещё памяти немного и я смог вместо ненужного мне барахла закинуть действительно важные вещи, и для меня это куда важнее чем обновления (толку обновлять то, что и к сети то толком не подключено, как правило, а гуглосервисы умудряются жрать батарею даже без сети). Да и выше, со слабыми ноутбуками тоже правильно заметили.
                  • 0
                    Я верно понимаю, что чтобы этим Meltdown и Spectre выудить хоть что-то полезное из хеша на деле нужно с каждым клоком весь хеш мониторить тем самым просаживая проц на 100%? Фактически неюзабельные дыры?
                    • 0
                      Meltdown волне юзабельная, потому что эксплоится неверное предсказание для самой программы-агрессора и за одну попытку можно выудить несколько байт, причём не оставляя никаких следов.
                      Spectre — можно считать за уязвимость конкретной атакуемой программы, потому что агрессор должен вначале передать ей данные (причём так, чтобы предсказатель полез куда не надо), а потом попытаться получить с неё же данные и по задержке этого определить буквально один единственный бит. При этом она, естественно, будет оставлять множественные следы в системе. Юзабельность в обычных условиях крайне сомнительная.
                      • 0
                        Да, но «условный» пароль то хранится в процессоре всего пару клоков, это же не озу и чтобы агрессору находить пароль нужно каждый клок сканировать память проца. Как агрессор узнает что пароль именно сейчас там находится?
                        • 0
                          У проца нет памяти — есть только кэш.
                          Никакой пароль там не оказывается — там оказывается копия какого-то куска ОЗУ, и может хранится достаточно долго — пока там не окажется что-то другое.
                          В Meltdown агрессор спрашивает у процессора, сколько времени займёт чтение разных элементов принадлежащего массива — и индекс особо быстрого и будет частью пароля.
                          Сам же пароль хранится как раз в ОЗУ — и именно ОЗУ и сливается.
                    • –3
                      если вы уже на iOS 11

                      А если еще на 10?

                      • +1
                        Субъективно — iPhone 10 без изменений.
                        iOS 11.2.1: Single 4248; Multi 10167
                        iOS 11.2.2: Single 4235; Multi 10076
                        Измерял в Airplane Mode и на зарядке, на 10.2.2 измерял сразу после апгрейда, телефон теплый. Попробую попозже еще один раз.
                        • 0

                          Замерял производительность на iPhone 6 до и после обновления. Телефону три года, батарея изношена. Цифры в пределах погрешности. Более внимательный читаль оригинальной статьи заметит, с какой на какую версию автор обновился и что кокретно залатали в последней версии. Возможно, у автора проблемы с аккумулятором, те самые, которые замедляют скорость работы.

                          • +1
                            На моих iPhone 5s и iPhone 6s разницы между 11.2.1 и 11.2.2 в бенчмарках не обнаружено.
                            • 0
                              У Air 2 неплохой результат, нагуглил, картинку, где на iOS 8 на самом старте продаж Air2 набирал 1810/4472 на geekbench 3.

                              www.ferra.ru/images/407/407918.png
                              • 0

                                Это не хабраэффект, есть более общий термин.
                                https://ru.m.wikipedia.org/wiki/Слешдот-эффект

                                • 0
                                  Хм… у меня iPad Air первый. Жалел что обновился на iOS, так как планшет стал очень тормозить при работе с браузерами (только для этого и использую). Но с этим обновлением все стало работать нормально. Может они тормоза убрали из за старого аккумулятора?
                                  • 0
                                    Обновился на iOS? А раньше Android стоял?)
                                  • +2
                                    Мои данные тестирования моего iPhone 6 в GeekBench:
                                    iOS 11.2.1:
                                    Single core: 1520
                                    Multi core: 2662

                                    iOS 11.2.2:
                                    Single core: 1548
                                    Multi core: 2658

                                    Производительность нисколько не снизилась.

                                    Интересно, если я опубликую в своём личном блоге запись, что все телефоны Samsung после исправления уязвимости замедляются в 10 раз, то все новостные ресурсы тоже распространят эту информацию без всяких разбирательств и перепроверок?

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.