Когда речь заходит о разработке быстрого браузера, инженеры Google уделяют особое внимание каждой детали.
Как сохранить передовой браузер на передовом уровне? С помощью постоянных улучшений. Расширять границы производительности - вот задача команды инженеров Google, работающих над Chrome, популярным браузером, который за 15 лет прошел путь от тихого проекта с открытым исходным кодом до привычного способа работы в Интернете.
Еще на старте продаж, в 40-страничном онлайн-комиксе, объясняющем суть нового продукта, одной из метацелей Google для Chrome как браузера было стать быстрее, быстрее запускаться и быстрее загружать страницы.
"И это по-прежнему так", - говорит Макс Кристофф, старший директор по разработке браузера Chrome. "Эта работа никогда не заканчивается. Мы постоянно ищем улучшения, которые окажут наибольшее влияние на реальную производительность как можно большего числа людей."
Персонализированная производительность
Важной частью достижения этой цели является оптимизация под индивидуальные потребности в производительности. Каждый человек использует Chrome по-своему, поэтому инженеры Chrome постоянно оптимизируют работу браузера в кулуарах, а также добавляют инструменты, позволяющие пользователям настраивать производительность браузера на рабочем столе.
Две последние функции - это контроль производительности, который можно включить, чтобы Chrome использовал на 40 % (10 ГБ) меньше памяти для бесперебойной работы вкладок и продлить время работы от батареи, когда она разряжается. Режим Memory Saver освобождает память от неиспользуемых вкладок, чтобы обеспечить более комфортный просмотр активных веб-сайтов. Режим Energy Saver продлевает срок службы батареи, ограничивая фоновую активность, когда заряд батареи составляет не более 20 процентов.
Перед тем как внедрить в браузер какую-либо функцию или усовершенствование, инженеры Google проводят тестирование производительности, основанное на двух ключевых показателях: бенчмарках, которые проводятся в лаборатории в строго контролируемых условиях, и реальной производительности, которая измеряет, как пользователи Chrome работают в Интернете. Оба показателя имеют свою пользу.
Изменение может означать повышение производительности в коде Chrome', обновление внешнего вида или функций браузера, а иногда даже модификацию API JavaScript. Бенчмарки измеряют эти изменения по целому ряду показателей, включая скорость загрузки страницы, отзывчивость на ввод, визуальную стабильность и плавность.
Поскольку бенчмарки работают с определенным набором рабочих нагрузок, эффект от улучшения можно отследить с высокой точностью. "Если у кого-то возникнет идея, как сделать Chrome быстрее или стабильнее, мы сможем быстро провести эксперименты в лаборатории", - говорит Кристофф.
Существуют также общепринятые в отрасли эталонные инструменты для измерения производительности, которые инженеры Chrome принимают во внимание и оптимизируют на их основе: Speedometer (измеряет отзывчивость веб-приложений), MotionMark (анализирует способность браузера анимировать сложные сцены) и JetStream (бенчмарк JavaScript и WebAssembly для продвинутых веб-приложений). В этом году Chrome показал самую высокую скорость загрузки во всех трех бенчмарках. Проведенные в середине года эталонные тесты Maglev, нового компонента Chrome, призванного сократить общее время работы процессора при компиляции кода и при этом сэкономить время автономной работы, подтвердили значительный прирост производительности.
Хотя эти эталонные тесты позволяют проверить оптимизацию Chrome на ранних этапах, полевые испытания являются важным следующим шагом. "Улучшения, полученные с помощью бенчмарков, должны привести к реальным преимуществам для пользователей," - говорит Кристофф. "Бенчмарки подтверждают нашу работу под капотом, а полевые испытания позволяют оценить, как пользователь воспримет изменения."
Оценка реального мира начинается с Chrome Variations, важнейшей схемы полевых испытаний A/B для сравнения новых функций. Вариации Chrome позволяют разработчикам Chrome постепенно распространять функции и обновления на подмножество пользователей, чтобы убедиться в отсутствии регресса перед более широким запуском. Например, когда была выпущена новая функция Memory Saver, инженеры использовали Chrome Variations, чтобы контролировать первоначальный выпуск только для части пользователей. Это позволило инженерам Chrome проверить успешность функции на реальных пользователях, обеспечив визуальный индикатор без регресса в работе Chrome. Внимательно отслеживая показатели для оценки различий между экспериментальной и контрольной группами, команда смогла убедиться, что функция работает так, как ожидалось.
Как сказал Кристофф: "Это дает нам уверенность в том, что когда мы запустим изменения для всех пользователей Chrome, мы' улучшим ситуацию и получим те преимущества, которые ищут наши пользователи."
Взаимодействие с разработчиками для установления стандарта качества
Google также предоставляет программу Core Web Vitals, набор показателей, которые измеряют производительность веб-сайтов с точки зрения пользовательского опыта. Программа Vitals - отличный пример того, как Chrome не только улучшает скорость работы браузера, но и сотрудничает с разработчиками, чтобы сделать их веб-страницы более эффективными и легкими для загрузки.
"Свет на производительность может показать разработчикам, в каком положении находится их сайт," отмечает Кристофф.
Программа Core Web Vitals предлагает набор инструментов для разработчиков, которые помогают оценить производительность сайта и то, как она влияет на реальный пользовательский опыт. За последние три года количество сайтов с хорошим пользовательским опытом по всем показателям Core Web Vitals почти удвоилось, что способствует достижению более широкой цели Chrome - обеспечить отличный пользовательский опыт во всей веб-экосистеме.
Заглядывая в следующие 15 лет, Chrome продолжает думать о том, как внести улучшения, чтобы пользователи могли быстрее просматривать сайты и сделать работу в Интернете лучше для всех.
"Машины меняются, Интернет развивается, поэтому мы тоже должны развиваться", - говорит Кристофф. "Сегодня мы делаем то, о чем даже не мечтали всего несколько лет назад."