Microsoft анонсировала оптимизацию asm.js

Перевод статьи Microsoft announces asm.js optimizations с любезного согласия Luke Wagner

Команда Microsoft Chakra анонсировала на блоге IE, что asm.js оптимизации находятся в разработке. Мы в Mozilla очень рады за то, что IE присоединится к Firefox в обеспечении предсказуемой, топ-уровневой производительности на asm.js коде. Из моих дискуссий с командой Chakra, я ожидаю, что это будет именно так.

Что на самом деле означает "оптимизация asm.js"?

Учитывая этот анонс, было бы естественно спросить: а что именно значит "оптимизация asm.js" на самом деле означает и чем она отличаются от нормальной оптимизации JS, которую все браузеры добавили со временем, что говорит в пользу кода asm.js. В частности, последний вид оптимизации зачастую вызван нагрузками asm.js, как мы видим по добавлению нагрузок asm.js на Google, и Apple.

Первоначально, на этот вопрос был простой ответ: отличительной чертой asm.js является директива "use asm" в модуле asm.js, так что если движок JS тестировался на "use asm" , это было выполнение asm.js оптимизации. Тем не менее, команда разработчиков Chrome (см. также расширения для chrome) недавно начала исследование "use asm" в форме эвристической сигнализации JS, и обе команды по-прежнему считают, что существует нечто категорически другое в подходе Firefox. Итак, нам нужен более точный ответ.

Кроме того, поскольку asm.js код поддерживает АОТ, мы могли бы рассмотреть на это как определяющую характеристику. Действительно, АОТ упоминается в абстракции asm.js, в моем предыдущем посте дневника и участниками проекта. Однако, поскольку мы анализировали реальные нагрузки asm.js и планировали дальнейшие улучшения времени загрузки, становится все более ясно, что гибридные стратегии компиляции могут предложить многое. Таким образом, определение "asm.js оптимизации" как "полной компиляции АОТ" будет слишком специфичным.

Вместо этого, я думаю, будет корректным такое определение: "движок JS включает в себя asm.js оптимизацию», когда он реализует предикативную проверку, определенную спецификацией asm.js. Примеры таких оптимизаций описаны в моем предыдущем посте asm.js во время загрузки. Все этивиды оптимизации выгодны при глобальных, статический типах структуры, гарантированным подтверждения которых является asm.js, поэтому проверка на корректность является ключевой.

С нетерпением ждем

 

Я с нетерпением жду сотрудничества с Microsoft и других производителей браузеров по поводу принятия asm.js к новым уровням планируемой, почти "родной" производительности.

Возможно, вам будет интересно:

Компьютерная помощь: задайте свой вопрос

Укажите email, на который я смогу выслать ответ на ваш вопрос