Google, Apple и Mozilla представили новую версию бенчмарка JetStream 3, предназначенного для комплексной оценки производительности современных браузеров. Набор тестов ориентирован прежде всего на измерение скорости выполнения кода на JavaScript и WebAssembly в условиях, максимально приближённых к работе реальных веб‑приложений, которые выполняют ресурсоёмкие вычисления.
Главная идея JetStream 3 - уйти от устаревших синтетических сценариев и сосредоточиться на типичных паттернах использования веба в 2020‑х годах. Поэтому над проектом совместно работают разработчики движков из трёх конкурирующих экосистем: Google (Chromium/V8), Apple (WebKit/JavaScriptCore) и Mozilla (Gecko/SpiderMonkey). Такое сотрудничество позволяет минимизировать предвзятость и уменьшить риск "подгонки" конкретного браузера под тест. Код бенчмарка распространяется под свободной лицензией BSD, что даёт возможность независимым разработчикам изучать методику и встраивать её в собственные процессы тестирования.
По сравнению с JetStream 2, выпущенным ещё в 2019 году, третья версия сильно переработана. Авторы учли как эволюцию веб‑технологий, так и изменения в подходах к разработке: теперь тесты лучше имитируют поведение реальных приложений. Цель - измерять не "вылизанную" скорость на узком наборе задач, а ту производительность, с которой браузеры сталкиваются в реальной эксплуатации: от игр и графических движков до криптографии и сложной бизнес‑логики.
В отличие от другого популярного набора - Speedometer 3, который делает акцент на скорости отклика интерфейса и работе с DOM‑деревом, JetStream 3 смещает фокус в сторону "чистой" вычислительной мощности. Он больше подходит для оценки сценариев, где основная нагрузка - это интенсивные расчёты: браузерные игры, физические симуляции, обработка данных, криптографические операции, базовые механизмы фреймворков и алгоритмы, требующие значительных ресурсов процессора.
Особое внимание в JetStream 3 уделено WebAssembly. Новый релиз значительно расширяет набор задач, позволяющих проверить производительность и зрелость реализаций Wasm в браузерах. Бенчмарк учитывает современные расширения стандарта: обработку исключений (exception handling), поддержку векторных SIMD‑инструкций и использование WasmGC - механизма, который даёт возможность эффективно запускать в браузере проекты, написанные на языках со сборщиком мусора.
В набор включены тесты, ориентированные на приложения, собранные с помощью актуальных инструментов: J2CL, Dart2wasm, Kotlin/Wasm, Rust и .NET. Это означает, что измеряется скорость работы модулей, сгенерированных из кода на Java, Dart, Kotlin, Rust и C#. Таким образом, JetStream 3 затрагивает практически весь спектр популярных языков, которые сегодня активно выводят в браузер через WebAssembly.
Отдельно выделяются новые типы нагрузок на WebAssembly. Среди них:
- вычисление криптографически стойких хэшей с использованием алгоритма argon2;
- выполнение моделей машинного обучения, оптимизированных под SIMD‑инструкции;
- генерация пользовательских интерфейсов на Dart и Kotlin в виде Wasm‑приложений;
- запуск SQLite3 непосредственно в браузере;
- выполнение интерпретатора и среды выполнения .NET, собранных в WebAssembly.
Эти сценарии демонстрируют, как далеко продвинулся браузерный стек: сегодня он способен не только отображать страницы и работать со скриптами, но и выступать платформой для полноценных настольных и серверных задач, выполняемых прямо в окне браузера.
JetStream 3 приносит с собой и крупное обновление JavaScript‑части. Добавлено 15 новых тестов, в том числе:
- 3D‑движок Babylon.js, позволяющий оценить производительность сложной 3D‑графики;
- операции с эллиптическими кривыми ed25519 - важный элемент современной криптографии;
- библиотека MobX, применяемая для реактивного управления состоянием в веб‑приложениях;
- подсветка синтаксиса с помощью prismjs, что имитирует работу редакторов кода и сложных интерфейсов;
- несколько реализаций прокси‑сценариев;
- трассировка лучей (ray tracing) для моделирования сложной графики;
- операции с файловой системой в браузере;
- 3D‑симулятор поведения частиц на базе Three.js;
- компиляция кода с помощью TypeScript 5.9 прямо в браузере;
- проверка строковых данных с использованием validator.js;
- генерация страниц через React.
Подобный набор отражает самые разные профили нагрузки - от визуализации и UI‑логики до криптографии, обработки данных и трансформации кода. Для разработчиков это важный сигнал: те библиотеки и подходы, которые используются сегодня в реальных продуктах, напрямую учитываются при оценке производительности движков.
В JetStream 3 серьёзно улучшен подход к методике проведения тестов. Чтобы уменьшить влияние побочных факторов, таких как снижение частоты CPU из-за энергосберегающих механизмов между отдельными прогонов, а также задержки ввода‑вывода, все необходимые ресурсы предварительно подгружаются ещё до старта измерений. Это позволяет получить более ровный и воспроизводимый результат, максимально зависящий именно от работы движка, а не от колебаний нагрузки системы.
Ресурсы, используемые бенчмарком, сохраняются в виде блобов, закодированных в URL. Такой подход одновременно снижает пиковое потребление памяти и облегчает кэширование: браузеру не нужно постоянно обращаться к диску или сети. В результате тесты выполняются быстрее и стабильнее, а разброс значений между прогоном становится меньше.
JetStream 3 может применяться не только для сравнения пользовательских браузеров, но и для тестирования изолированных движков, поставляемых отдельно. Например, его можно запускать против автономных реализаций, таких как d8 (инструмент на базе V8). Это удобно для инженеров, которые оптимизируют низкоуровневые части движка, не завися от всей оболочки браузера и интерфейсных компонентов.
На практике с помощью JetStream 3 сравнивают не только флагманские браузеры вроде Google Chrome (на основе Chromium), Mozilla Firefox и Apple Safari, но и менее известные решения, использующие разные версии движков. Иногда даже относительно лёгкие браузеры на базе старых ревизий Chromium демонстрируют вполне конкурентные результаты в некоторых сценариях - пользователи отмечают значения в районе 150-170 баллов и выше на не самом современном "железе". Однако такие цифры стоит рассматривать осторожно: устаревшие сборки могут быть быстрее в отдельных синтетических задачах, но при этом уступать по безопасности, совместимости с новыми стандартами и стабильности.
Важно понимать, как интерпретировать результаты JetStream 3. Высокий итоговый балл говорит о том, что движок эффективно справляется с тяжёлыми вычислительными нагрузками. Но он не обязательно означает, что конкретный браузер будет всегда субъективно "ощущаться" быстрее в повседневной работе. На быстродействие интерфейса влияют и другие факторы: оптимизация рендеринга, работа с DOM, планировщик задач, сеть, расширения, энергосбережение и даже особенности конкретной операционной системы.
Для разработчиков веб‑приложений JetStream 3 полезен в нескольких аспектах:
- помогает понять, на каких типах задач конкретный движок демонстрирует сильные и слабые стороны;
- позволяет оценить влияние изменений в собственном коде (например, переход на другой фреймворк, библиотеку или способ сборки WebAssembly) на вычислительную нагрузку;
- служит ориентиром при выборе целевых платформ, если продукт должен одинаково хорошо работать на разных движках.
Для команд, которые создают браузеры или JavaScript/WebAssembly‑движки, JetStream 3 становится своего рода полигоном. На нём можно отслеживать регрессии производительности между версиями, проверять эффект новых оптимизаций компилятора, анализа кода, JIT‑компиляции и работы сборщика мусора. Поскольку тесты максимально приближены к реальным сценариям, успехи в этом бенчмарке чаще всего означают и заметный выигрыш в реальных приложениях: играх, редакторах, IDE в браузере, онлайн‑аналитике и сложных корпоративных системах.
Пользователям, наоборот, не стоит делать выбор браузера только по числу из одного теста. Версия JetStream 3 ориентирована главным образом на тяжёлые крупные приложения и сложные вычисления. Если пользователь проводит большую часть времени на новостных сайтах, в мессенджерах и простых офисных веб‑приложениях, разница в баллах между двумя современными браузерами может быть в реальности почти незаметна. Но для тех, кто пользуется облачными IDE, 3D‑редакторами, сложными веб‑сервисами и играми, такие показатели становятся гораздо более показательными.
Отдельная тема - влияние аппаратного обеспечения. JetStream 3 отлично иллюстрирует, как разные CPU и конфигурации системы отражаются на производительности: быстрые многоядерные процессоры с широкими векторными инструкциями дают явное преимущество в тестах с активным использованием SIMD, тогда как слабые мобильные чипы могут заметно отставать. Поэтому сравнивать результаты имеет смысл только на одинаковых или очень похожих системах и условиях.
JetStream 3 также подчёркивает тренд на превращение браузера в универсальную платформу. Поддержка WebAssembly, управление памятью через WasmGC, возможность запускать языки с собственным сборщиком мусора и сложные рантаймы вроде .NET или крупных библиотек вроде SQLite - всё это говорит о том, что граница между "нативными" и "веб‑приложениями" размывается. Для разработчиков это открывает новые возможности: переносить настольные программы в браузер, реализовывать тяжёлую аналитику и машинное обучение на клиенте, строить гибридные решения, которые раньше были возможны только в классических десктопных средах.
В итоге JetStream 3 - это не просто очередной "синтетический тест", а отражение текущего состояния веб‑платформы и её движков. Он показывает, как браузеры справляются с реальными нагрузками, насколько зрелой стала поддержка WebAssembly и современные оптимизации JavaScript. Для индустрии такой инструмент - способ объективнее оценивать прогресс, выявлять узкие места и направлять усилия на те области, которые действительно важны для современных и будущих веб‑приложений.



