В рамках проекта JägerMonkey (https://wiki.mozilla.org/JaegerMonkey) разработчики Mozilla ведут работу по интеграции в JavaScript движок SpiderMonkey легкого контекстно-ориентированного многопоточного JIT-компилятора. Для формирования на лету машинного кода в JägerMonkey решено задействовать открытый ассемблер Nitro JavaScript JIT, созданный компанией Apple для WebKit. Nitro распространяется под совместимой с Firefox лицензией и написан на языке C++, что упрощает процесс его интеграции. Код Nitro уже адаптирован для запуска с использованием системы сборки и набором библиотек Mozilla. Вторым ключевым компонентом JägerMonkey является работающий на более высоком уровне JIT-компилятор методов, созданием которого занимаются разработчики Mozilla. В будущем, после проведения первичной стадии тестирования, работа будет сосредоточена на интеграции JägerMonkey с JIT-подсистемой движка TraceMonkey. По средним оценкам, в текущем виде JIT-компилятор JägerMonkey позволяет увеличить производительность выполнения JavaScript на 18%, после доработки планируется увеличить производительность еще на 10%. Особенно новый JIT эффективен для оптимизации регулярных выражений. Работа JIT-компилятора в движке TraceMonkey, который уже используется в последних версиях Firefox, построена на идее "tracing"-оптимизации, суть которой в сохранении плана выполнения скрипта с последующим использованием бинарного кода при выполнении подобных блоков. При этом происходит преобразование циклов и сложных методов в вид линейного потока инструкций. Подобный метод позволяет значительно ускорить выполнение определенных операций, например показывает девятикратный прирост производительности в тесте math-cordic из пакета SunSpider. При работе реального кода, специально не оптимизированного для развертывания в линейное представление инструкций, эффективность "tracing"-оптимизации значительно снижается. Например, тест "date-format-tofte" в котром есть вызов "eval" работает быстрее всего на 5%. Некоторые разработчики сравнивают TraceMonkey с ракетным бустером, позволяющим обеспечить значительное ускорение, но в коротком промежутке времени. Для скриптов с большим числом разветвлений, использованием "eval" и комбинированием разных типов (для каждой комбинации типов и каждого ветвления создается свой трассировочный план выполнения, если комбинаций 1000, то и планов будет 1000), эффективность TraceMonkey оставляет желать лучшего. Предлагаемый к реализации новый JIT-компилятор менее эффективен для некоторых ситуаций, но позволяет ускорить выполнение всех программ на JavaScript, не требуя специального оформления кода. При комбинировании обеих подходов в одном JavaScript-движке можно достичь действительно значительного ускорения при выполнении любых скриптов. 28.02.2010 http://www.opennet.ru/opennews/art.shtml?num=25608 http://blog.mozilla.com/dmandelin/2010/02/26/starting-jagermonkey/
Это закономерно. Если стоять на месте, то их просто "сожрут" конкуренты. Для многих выглядит на отлично, но таки..рейтинги на первое место не помещают мозилу..значит есть куда двигаться и развиваться etc
Не начинает, а развивается уже довольно долгое время. Причём, учитывая их политику, довольно интенсивно. А что непонятно по конкурентам? Опера, Сафари, Хром etc
Это что то типо форка от Mozill'ы. Хотя в принципе нe плохое решение.НО это не главная проблема FF.Есть куда более важнее.