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


Материалы с подобными громкими заголовками широко растиражировали многочисленные техноблоги, использовав в качестве источника статью «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 и не используете джейлбрейк.

Вы можете помочь и перевести немного средств на развитие сайта

Теги:



Комментарии (25):

  1. fedor1210
    /#10546461

    Как писала Apple, данное обновление уменьшило вероятность применения Spectre исключительно в WebKit (Safari и другие браузеры, использующие его). К сожалению, по поводу ядра ничего не сказано, поэтому все изменения производительности касаются, похоже, лишь оптимизации, что автор и предположил в тексте статьи.

    • Mairon
      /#10546971

      Тогда надо не в гикбенче замерять, а в чем сейчас попугаев в бразерах меряют?

  2. natan555
    /#10546489

    Учитывая, что это просто софтовый патч, можно предположить, что Apple могли/успели отключить его действие при исполнении стандартных тестов производительности. Вероятно выводы стоит делать на основании либо каких-то нестандартных тестов либо субъективно.

    • TipTopych
      /#10546803

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

    • NetBUG
      /#10546887 / +1

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

  3. FreeManOfPeace
    /#10546595

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

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

    • sumanai
      /#10546749

      с каких пор устройство считает себя умнее пользователя?

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

      • Vitalley
        /#10548511

        На Win XP уже началась эта тенденция, Win 2000 была самая дружелюбная к пользователю.

    • Marsikus
      /#10547651

      Не только iOS и Android. На форумах владельцы маломощных ноутбуков с медленным жесткими дисками иногда жалуются, что ноут очень сильно тормозит пока Windows 10 не скачает и поставит все доступные на данный момент обновления. А так как обновления выходят часто, то пользоваться ноутбуком становится вообще невозможно.

    • izzzgoy
      /#10548853

      Производители всегда считают себя умнее пользователя, особенно в случае с Apple, дабы иметь как можно меньше проблем со стороны этих самых пользователей.

  4. kozyabka
    /#10546599

    Я верно понимаю, что чтобы этим Meltdown и Spectre выудить хоть что-то полезное из хеша на деле нужно с каждым клоком весь хеш мониторить тем самым просаживая проц на 100%? Фактически неюзабельные дыры?

    • SinsI
      /#10546891

      Meltdown волне юзабельная, потому что эксплоится неверное предсказание для самой программы-агрессора и за одну попытку можно выудить несколько байт, причём не оставляя никаких следов.
      Spectre — можно считать за уязвимость конкретной атакуемой программы, потому что агрессор должен вначале передать ей данные (причём так, чтобы предсказатель полез куда не надо), а потом попытаться получить с неё же данные и по задержке этого определить буквально один единственный бит. При этом она, естественно, будет оставлять множественные следы в системе. Юзабельность в обычных условиях крайне сомнительная.

      • kozyabka
        /#10547119

        Да, но «условный» пароль то хранится в процессоре всего пару клоков, это же не озу и чтобы агрессору находить пароль нужно каждый клок сканировать память проца. Как агрессор узнает что пароль именно сейчас там находится?

        • SinsI
          /#10547275

          У проца нет памяти — есть только кэш.
          Никакой пароль там не оказывается — там оказывается копия какого-то куска ОЗУ, и может хранится достаточно долго — пока там не окажется что-то другое.
          В Meltdown агрессор спрашивает у процессора, сколько времени займёт чтение разных элементов принадлежащего массива — и индекс особо быстрого и будет частью пароля.
          Сам же пароль хранится как раз в ОЗУ — и именно ОЗУ и сливается.

  5. za90
    /#10546615

    если вы уже на iOS 11

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

  6. svilgelm
    /#10546801

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

  7. Enzo_Sterro
    /#10546859

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

  8. sasha4176
    /#10546871

    На моих iPhone 5s и iPhone 6s разницы между 11.2.1 и 11.2.2 в бенчмарках не обнаружено.

  9. kymylep
    /#10546939

    У Air 2 неплохой результат, нагуглил, картинку, где на iOS 8 на самом старте продаж Air2 набирал 1810/4472 на geekbench 3.

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

  10. izzholtik
    /#10547053

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

  11. kAIST
    /#10547295

    Хм… у меня iPad Air первый. Жалел что обновился на iOS, так как планшет стал очень тормозить при работе с браузерами (только для этого и использую). Но с этим обновлением все стало работать нормально. Может они тормоза убрали из за старого аккумулятора?

    • Terverus
      /#10549041

      Обновился на iOS? А раньше Android стоял?)

  12. agran
    /#10548203

    Мои данные тестирования моего 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 раз, то все новостные ресурсы тоже распространят эту информацию без всяких разбирательств и перепроверок?