JägerMonkey: przyspieszanie SpiderMonkey

  • Home
  • /
  • Blog
  • /
  • JägerMonkey: przyspieszanie SpiderMonkey

Data: 28 lutego, 2010

JavaScript stała się tak ważnym językiem dla rozwoju WWW, że trwa swoisty wyścig zbrojeń między przeglądarkami, w którym każdy stara się wydatnie zwiększyć prędkość działania programów w JS. Mozilla wykonuje kolejny krok w tym wyścigu.

Prace nad JägerMonkey trwają od 2 miesięcy. Ich celem jest przyspieszenie w tych przypadkach, gdzie TraceMonkey nie daje dużych efektów, tzn. gdzie kodu nie da się dokładnie śledzić.

Strategią JägerMonkey jest kompilacja JIT metod. Daje to wprawdzie mniejszy przyrost wydajności niż przy śledzeniu, ale też jest bardziej uniwersalne, dlatego oba te mechanizmy się uzupełniają, a nie wykluczają. Integracja obu jeszcze nie nastąpiła, ale jest planowana.

Z powodów technicznych deweloperzy wykorzystali w nim JIT Nitro z WebKita zamiast nanojit z TraceMonkey. Już obecnie, bez specjalnej optymalizacji, test SunSpider w trybie “Jäger mode” wykazuje wyniki o 18% lepsze niż standardowy interpreter JavaScriptu w Firefoksie.

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. Dziwne to problemy techniczne, które powodują, że łatwiej wykorzystać fragment silnika JavaScript z innej przeglądarki niż z własnego 😉 Ale nie można przedstawiać tego jako wadę, na tym polega wg mnie open source, że wykorzystuje się dobry kod, by stworzyć jeszcze lepszy 🙂

    1. kocio pisze:

      Nigdzie nie sugerowałem, że to wada – MSZ to fajnie, że nie mają „syndromu NIH”. A powód jest dokładnie taki (pod linkiem):

      Nanojit does a fair number of compiler backend optimizations, like dead store elimination and common subexpression elimination, which allows to generate faster code, but makes it take longer to generate that code. We don’t expect those optimizations to help much in the Jäger domain, so we wanted something simpler and faster.

  2. jarek pisze:

    > Dziwne to problemy techniczne, które powodują, że łatwiej wykorzystać
    > fragment silnika JavaScript z innej przeglądarki niż z własnego

    Oh, modularnosc i "reusability" gecko i tej calej wesolej ferajny
    jest juz legendarna. Od wersji 1.0 FF bodajze slyszymy o wydzieleniu
    gecko tak, zeby mozna bylo go wspoldzielic miedzy aplikacjami.
    Za ruski miesiac.

    1. Ajnsztajn pisze:

      To ciekawe, bo ja jakoś mam wydzielone Gecko i instaluje mi się jako zależność przeglądarki a nie razem z nią ;).

      1. xulrunner to chyba więcej niż tylko gecko

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.