Перевод статьи
https://brave.com/brave-one-dot-zero-performance-methodology-and-results/Обеспечение доступа в Интернет для всех, благодаря встроенным средствам защиты, конфиденциальности и значительному повышению эффективностиЭтот блог был написан доктором Andrius Aucinas, доктором Matteo Varvello, исследователями производительности Brave, и доктором Ben Livshits, главным научным сотрудником Brave.
В 2019 году Brave достигла важного результата с выпуском версии 1.0. Как и прежде, производительность веб-браузера является ключевым приоритетом для Brave, поэтому мы решили подробно оценить, как он соотносится с конкурентами, и разработали методологию для этого. В нашем руководстве«1.0 reviewer guide» мы суммировали значимые результаты, которые могут ожидать наши пользователи. В духе прозрачности мы представляем нашу методологию и подробные результаты.
https://brave.com/press/1.0-REVIEWERS-GUIDE.pdfBrave имеет открытый исходный код и построен на основе 2х проектов с открытым исходным кодом: проекта Chromium и rendering engine от Blink. Проект Chromium был создан Google на основе Apple WebKit. Цель состояла в том, чтобы взять на себя работу Google по созданию Chrome и создать общее ядро ??для любого браузера, который хочет его использовать. Chromium - теперь "строительный блок" для большинства современных веб-браузеров. Использование Chromium в качестве основы позволяет небольшой команде Brave сконцентрироваться на создании мощных функций, которые выделяют браузер, а не на интерфейсе просмотра веб-страниц, как у других браузеров.
ольшинство веб-сайтов пытаются отправить большие объемы данных, из которых только немногое - это контент, который пользователь действительно хочет видеть. Остальное - это реклама, трекеры и другие материалы, для загрузки которых требуется дополнительное время и данные, они занимают место в памяти и требуют больше процессорного времени и мощности для обработки. Из-за того, что Brave блокирует все это, он значительно быстрее, чем другие браузеры. И это вдвойне лучше для медленных или более медленных соединений, где каждый случайный цикл процессора или бит оперативной памяти имеет значение.
Для оценки версии 1.0 мы собрали комплексный стенд, в котором Brave сравнивается с Chrome, Firefox, Opera и Edge на Windows, MacOS и Android. Мы используем тестовую платформу для сравнения этих браузеров с точки зрения использования памяти, скорости загрузки страницы, использования данных и потребления ресурсов, а также традиционных синтетических тестов производительности. Мы подробно обсудим методологию и способы, которые мы использовали при разработке v 1.0, о которой мы писали выше: Brave в итоге загружает популярные веб-страницы в 3-6 раз быстрее, при этом используя около половины памяти и мощности, а также треть данных, экономя секунды времени и мегабайты данных для каждой загрузки страницы.
Тестовая платформаЖелезо и софтОборудование в нашем испытательном стенде включало:
MacOS: модель 2015 года с процессором Intel i5, 16 ГБ ОЗУ и MacOS 10.14.4. Все тесты выполняются на новой учетной записи пользователя MacOS с настройками по умолчанию и только запущенным тестируемым браузером.
Windows: Lenovo Ideapad 110 с процессором Intel i3, 8 ГБ памяти, Windows 10. Тесты выполняются на новой учетной записи пользователя Windows, с настройками по умолчанию и только запущенным тестируемым браузером.
Android: Samsung J7DUO (2018), оснащенный Android 9.0, Octa-core (2x2,2 ГГц Cortex-A73, 6x1,6 ГГц Cortex-A53), 4 ГБ памяти и батареей на 3000 мАч.
Для данного браузера мы оцениваем его самую последнюю стабильную версию. В случае Opera и Edge (для настольных компьютеров) мы используем их бета-версии.
Это данные о конкретной тестируемой версии для каждой платформы.
Brave 0.71.97 (Chromium 78.0.3904.50), Brave 1.4.2 on Android
Оба были кандидатами на выпуск Brave 1.0
Chrome 78.0.3904.63, Chrome 78.0.3904.62 on Android
Firefox 69.0.3, Firefox 68.2.0 on Android
Opera Beta 65.0.3457.7 (Chromium 78.0.3904.21), Opera 54.0.2672.49578 on Android
Edge Beta 78.0.276.19 on MacOS, Edge 44.18362.387.0 on Windows
Safari 13.0.2 on MacOS
ПараметрыНаша оценка производительности фокусируется на двух основных областях: использование ресурсов (процессор, память, батарея) и скорость (время загрузки страницы). Что касается использования ресурсов, идеальным сценарием является мониторинг всех ресурсов на наших платформах. Это не всегда практично по причинам, которые мы кратко объясним, но мы утверждаем, что это также не нужно.
Например, использование батареи гораздо важнее на мобильных устройствах, чем, например, на ноутбуках, которые часто подключены к линии электропередачи. Учитывая, что точные измерения батареи требуют подключения тестера питания к тестируемому устройству - что еще менее практично для ноутбука - и учитывая приведенный выше аргумент, мы ориентируемся только на нашу мобильную платформу для этого показателя. Точно так же управление памятью довольно своеобразно на мобильных устройствах, когда фоновые приложения агрессивно приостанавливаются при обнаружении нехватки ресурсов. Соответственно, мы измеряем использование памяти только на MacOS и Windows.
Что касается «скорости», не существует единой универсальной метрики производительности для браузера или веб-страницы. Ниже мы представляем три популярных метрики, которые охватывают различные аспекты по производительности.
First Paint(Первая краска) измеряет, сколько времени требуется браузеру, прежде чем вывести что-либо на экране. Точно так же
First Meaningful Paint измеряет, сколько времени требуется, чтобы самое большое изображение прогрузилось, и
SpeedIndex отражает, сколько времени требуется для загрузки визуального содержимого. Только
First Paint стандартизирован и доступен во всех браузерах.
Page Load Time (Время загрузки страницы) измеряет, когда весь документ с его подресурсами загружен. Дополнительный контент часто загружается после того, как браузер пометил документ как «завершенный», например, средами приложений, такими как React или AngularJS, загружающими ресурсы по запросу, или трекерами и рекламными объявлениями, добавляемыми явно после загрузки главной страницы.
Fully Loaded Time (Время полной загрузки) показывает, сколько времени требуется, чтобы трафик остановился. В частности, страница считается полностью загруженной, если в течение 5 секунд не было сетевого трафика. Цель этого показателя - отразить постоянное использование ресурсов устройства, а не пользовательский опыт.
Мы считаем, что метрики, ориентированные на показ изображений, лучше всего работают на относительно чистых страницах, но плохо отражают данные на страницах, на которых установлены десятки трекеров, загружают несколько объявлений или отображаются уведомления о согласии, которые закрывают половину экрана. Время загрузки страницы, с другой стороны, измеряет время загрузки основного документа и коррелирует с показателями загрузки, которые обычно замечают пользователи. Точно так же время полной загрузки, даже если оно не заметно для пользователей, указывает на шумность страницы и коррелирует с продолжительным использованием процессора и памяти. Поэтому мы указываем как время загрузки страницы, так и время полной загрузки в качестве ключевых показателей производительности загрузки страницы.
НагрузкаДля наших реальных тестов использования мы произвольно выбрали 35 URL-адресов новостных статей,целевых страниц и контента для покупок. Полный список доступен вместе с кодом, который мы использовали для автоматизации.
https://github.com/brave-experiments/browser-comparison-toolkit/blob/master/scenarios/fullset.txthttps://github.com/brave-experiments/browser-comparison-toolkitИспользуя набор страниц, мы генерируем различные рабочие нагрузки, наиболее подходящие для каждого измерения. Для измерения скорости браузера мы загружаем каждую страницу отдельно, чтобы минимизировать их влияние друг на друга. Что касается памяти, мы смотрим на комбинации разных страниц и выбираем разное количество вкладок, открытых одновременно, чтобы посмотреть нагрузку для начинающих, средних и опытных пользователей. Мы моделируем количество вкладок на данных, собранных Brave в рамках анализа продуктов, сохраняющих конфиденциальность: данные показывают, что у 42% пользователей открыто от 2 до 5 вкладок, а у 15% пользователей открыто от 11 до 50 вкладок!
На мобильных устройствах мы изучаем страницы по категориям в рамках двух различных автоматизациях. Во-первых, мы предполагаем простую загрузку страниц, при которой каждая страница в рабочей нагрузке загружается последовательно - каждый раз при открытии новой вкладки в браузере - до 60 секунд. Далее, мы предполагаем интерактивную загрузку страницы, где через 60 секунд наша автоматизация эмулирует некоторое взаимодействие пользователя со страницей, прокручивая страницу вверх и вниз в течение следующих 60 секунд.
Desktop BenchmarkingНаш испытательный стенд для настольных ПК состоит из двух ноутбуков среднего класса на Windows и MacOS. Чтобы минимизировать вариативность, мы настраиваем новую учетную запись пользователя перед сравнительным тестированием и устанавливаем проверяемые браузеры заново. Мы автоматизируем все тесты с помощью пользовательских сценариев оболочки (Bash для MacOS и PowerShell для Windows) и сторонних инструментов.
Мы провели тесты через VPN-соединение с VPN-сервером, работающим на сервере Amazon Web Services в регионе США. Это замедлило наш быстрый домашний WiFi до скорости загрузки и выгрузки около 30 Mbps и задержки до 100 мс. Это не так быстро, как при прямом оптоволоконном соединении, но все же лучше, чем то, у многих пользователей в других странах и в США. Мы должны были поддерживать местоположение в США во всех тестах из-за различий между здешним контентом и европейским, из-за гораздо более строгих европейских правил, защищающих конфиденциальность пользователей.
https://www.speedtest.net/insights/blog/2018-internet-speeds-global/Скорость загрузки страницыСамым заметным отличием для пользователей Brave является скорость загрузки веб-сайтов . Скорость зависит от комбинация различных параметров: производительность самого устройства и других задач, которые оно может выполнять параллельно, производительность сети, структура загружаемой страницы и, наконец, производительность самого браузера. Мы стремимся оценивать Brave в реальных условиях: на устройствах среднего уровня, скорости соединения в жилых помещениях и реальных веб-страницах.
Для всех настольных тестов мы использовали Browsertime, заботясь о том, чтобы перезапускать браузер и очищать кеш перед каждым тестом. Browsertime обращается к стандартным API-интерфейсам браузера для получения метрик производительности загрузки страницы (например, времени загрузки страницы) и информации о сетевых запросах. Мы рассчитываем время полной загрузки, анализируя информацию о сетевых запросах.
В Windows Brave работает значительно быстрее других как по времени загрузки страниц (PLT) так и по времени полной загрузки (FLT): в среднем Brave экономит 7,2 секунды на PLT и 9,6 секунды для полной загрузки страницы. В среднем получается чуть менее 6 секунд, для обоих случаев. В MacOS, Firefox Brave экономит около 13 секунд как в среднем, так и в среднем случае на PLT, а также колоссальные 20 секунд в FLT (16 секунд в среднем).
love poems by unknown writersНа MacOS, несмотря на то, что ноутбук немного мощнее, чем на Windows, картинка довольно схожая, главное отличие в том, что производительность Firefox больше соответствует Chrome и Opera. Тем не менее, Brave по-прежнему загружает страницы на 10 секунд быстрее, и на 7,5 секунд в среднем случае.