Microsoft Edge теперь лидирует среди всех 64-битных браузеров как в тестах Google Octane 2.0, так и в тестах Apple Jet Stream
3 минута. читать
Опубликовано
Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее
В Windows 10 и Microsoft Edge Microsoft значительно повысила производительность движка Chakra JavaScript.
Читайте об изменениях, внесенных для повышения производительности ниже,
- В Windows 10 и Microsoft Edge JIT-компилятор Chakra и конвейер выполнения были оптимизированы таким образом, что теперь Chakra может эффективно встраивать функции, определенные в файлах JavaScript, без потери преимуществ производительности, достигнутых за счет встраивания. Эта оптимизация позволяет намного большему количеству кода JavaScript в существующей сети встраиваться и работать быстрее в Microsoft Edge.
- В Windows 10 и Microsoft Edge мы начали оптимизировать синтаксический анализатор Chakra и JIT-компилятор для выявления неконстантных объявлений переменных целых чисел, которые определены глобально и никогда не изменяются в ходе выполнения программы. После идентификации JIT-код, созданный Chakra, способен существенно снизить затраты на поиск, связанные с такими глобально определенными переменными, которые не меняют свою форму и значение в течение времени выполнения программы, тем самым расширяя ценностное предложение, ориентированное на производительность. const в ECMAScript 6 о том, как константы часто используются в Интернете, как это существует сегодня.
- До Windows 10 Chakra не оптимизировала код внутри блоков try-catch. В Windows 10 и Microsoft Edge компилятор Chakra теперь может абстрагировать код, определенный внутри блоков try-catch, и генерировать для него оптимизированный JIT-код. В случаях, когда исключение не выбрасывается, Chakra теперь выполняет такой код внутри блока try почти наравне с обычным JIT-кодом (как будто try-catch никогда не существовало).
- Эксперимент подтвердил, что использование минимизированного кода чрезвычайно популярно в Интернете, и среди прочего UglifyJS очень часто используется в современной сети. Поэтому в Windows 10 и Microsoft Edge мы добавили новые быстрые пути, улучшили встраивание и оптимизировали некоторые эвристики в JIT-компиляторе Chakra, чтобы минимизированный код работал так же быстро, если не быстрее, чем неминифицированные версии. Благодаря этим изменениям производительность отдельных шаблонов кода, минимизированных с помощью протестированного нами UglifyJS, улучшилась на 20–50 %.
- Учитывая популярность встроенных массивов в Интернете, в Windows10 и Microsoft Edge, Chakra оптимизировала способ извлечения значений, в то время как движок обходит заданный массив. Эта оптимизация помогает устранить лишние накладные расходы, связанные с посещением цепочки прототипов и поиском числового свойства, соответствующего индексу, при обнаружении дыр в массиве. Эта оптимизация помогает повысить производительность ECMAScript5 Array#indexOf, встроенного в Chakra и Microsoft Edge, более чем в 5 раз.
Microsoft Edge сейчас опережает все 64-битные браузеры как в тесте Google Octane 2.0, так и в тесте Apple Jet Stream, и представляет лучшая в своем классе реализация ECMAScript 6.
Подробнее об этом здесь.