Для JavaScript-движка Firefox создается новый JIT-компилятор

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 28 Feb 2010.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,482
    Likes Received:
    7,062
    Reputations:
    693
    В рамках проекта 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/
     
    _________________________
  2. LEOSMIR

    LEOSMIR Member

    Joined:
    23 Feb 2010
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Хм... Вечно что то новое им нужно....
    По мне так, и так всё отлично.
     
    7 people like this.
  3. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,482
    Likes Received:
    7,062
    Reputations:
    693
    Это закономерно. Если стоять на месте, то их просто "сожрут" конкуренты.
    Для многих выглядит на отлично, но таки..рейтинги на первое место не помещают мозилу..значит есть куда двигаться и развиваться etc
     
    _________________________
  4. walter

    walter Elder - Старейшина

    Joined:
    29 Jan 2010
    Messages:
    493
    Likes Received:
    176
    Reputations:
    43
    Mozilla начинает потихоньку развиваться. хм.

    какие интересно конкуренты противостоят ?)
     
  5. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,482
    Likes Received:
    7,062
    Reputations:
    693
    Не начинает, а развивается уже довольно долгое время. Причём, учитывая их политику, довольно интенсивно.
    А что непонятно по конкурентам? Опера, Сафари, Хром etc
     
    _________________________
  6. root_sashok

    root_sashok Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    389
    Likes Received:
    573
    Reputations:
    102
    А остальные тихо от всех готовят свои новые продукты :)
     
  7. MC_Bandit

    MC_Bandit Banned

    Joined:
    9 Jul 2009
    Messages:
    0
    Likes Received:
    23
    Reputations:
    0
    Это что то типо форка от Mozill'ы. Хотя в принципе нe плохое решение.НО это не главная проблема FF.Есть куда более важнее.
     
  8. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    Молорики че