Самые недавние новшества в браузерах никак не связаны ни с новыми тегами, ни с новыми программными интерфейсами. В последнее время одной из наиболее важных тенденций является быстрая эволюция движков JavaScript/ ECMAScript в лидирующих браузерах.
Подобно тому, как новые программные интерфейсы сделали возможным то, что до сих пор было невыполнимо в браузерах последних поколений, общее ускорение работы механизмов сценариев благотворно сказывается как на существующих веб-приложениях, так и на тех, в которых используются самые последние новинки HTML5. Думаете, ваш браузер не позволит обрабатывать сложные изображения или большие массивы данных, а также редактировать крупные документы? А если хорошенько подумать?
В последние годы среди производителей браузеров развязалась самая настоящая "гонка вооружений", в которой они пытаются выяснить между собой, чей движок JavaScript работает быстрее. В то время как ранние версии JavaScript были исключительно интерпретирующими, новейшие движки компилируют код сценария непосредственно в собственный машинный код, что на несколько порядков увеличивает производительность по сравнению с браузерами конца прошлого тысячелетия.
События начали стремительно развиваться с того момента, как Adobe передала свой движок оперативной (Just-in-time, JIT) компиляции и виртуальную машину JavaScript (кодовое название Tamarin) проекту Mozilla в 2006 году. Хотя в самых последних версиях Mozilla сохранились лишь отдельные составляющие технологии Tamarin, передача этой технологии способствовала тому, что браузеры всех моделей теперь могут похвастаться новыми сценарными движками, имена которых интригуют не меньше, чем заявляемая производительность.
Таблица 1.5. Движки JavaScript различных браузеров
Браузер | Имя движка | Примечание |
Apple Safari 5 | Nitro (также известен как SquirrelFish Extreme) | Впервые появившийся в Safari 4 и доработанный в версии 5, вводит оптимизацию байт-кода и контекстно-потоковую компиляцию в собственный код |
Google Chrome 5 | V8 | Начиная с Chrome 2, сбор мусора осуществляется с учетом предыстории (generational garbage collection), что обеспечивает высокую масштабируемость памяти без образования пауз в работе системы |
Microsoft Internet Explorer 9 | Chakra | Основное внимание уделено эффективной системе типов; демонстрирует десятикратное превосходство над IE8 |
Mozilla Firefox 4 | JagerMonkey | Улучшенный по сравнению с версией 3.5 движок сочетает в себе высокую скорость интерпретации с компиляцией в собственный код в "горячих точках" деревьев трассировки (trace trees) |
Opera 10.60 | Carakan | Используется регистровый байт-код и выборочная компиляция в собственный код; заявленные характеристики браузера улучшены по сравнению с версией 10.50 на 75% |
- Назад
- Вперёд >>