WebSol.pl - Projektowanie stron internetowych
Strona Główna | Oferta | Portfolio | O Nas | Kontakt


Strona główna > Newsy > Mozilla przyrzeka, że engine Firefoksa dorówna w szybkości Crankshaftowi Chrome


"Mozilla przyrzeka, że engine Firefoksa dorówna w szybkości Crankshaftowi Chrome".

2010-12-11

Pokazany po raz pierwszy w tym tygodniu Crankshaft ? rozszerzenie engine'u przeglądarki Chrome ? wzbudził niemałe emocje wśród producentów przeglądarek. Nagle, jednym ruchem, ?wał korbowy? pozwolił przeglądarce tej osiągnąć wydajność uruchamiania realnych aplikacji webowych kilkukrotnie wyższą niż u konkurencji. Mozilla już obiecuje, że się nie podda: inspirowany technologiami Suna Crankshaft to dla niej wyzwanie, któremu zamierza już wkrótce sprostać.

Przypomnijmy: Crankshaft to rozszerzenie engine'u skryptowego V8, pozwalające na zwiększenie szybkości dostępu do właściwości, operacji arytmetycznych, wykonywania krótkich pętli i wywołania funkcji. Uzyskiwane to jest dzięki rozpoznaniu, które fragmenty kodu są wykonywane często i optymalizowaniu ich.

W dużym stopniu powstanie Crankshafta inspirowane było pracą, jaką jego twórcy ? szczególnie duński programista Lars Bak ? wykonali 10 lat temu przy engine HotSpot Javy. Pod pewnym względem mechanizm ten jest podobny do rozszerzenia JaegerMonkey engine'u skryptowego Firefoksa ? tak jak on próbuje optymalizować pewne fragmenty kodu w sposób dynamiczny. Jednak tam, gdzie Mozilla wykorzystuje techniki trasowania (wykrywania pętli kodu i przekształcania ich w kod maszynowy), tam Crankshaft wykorzystuje mechanizm ?adaptacyjnej kompilacji?.

Rozszerzenie to składa się z czterech wzajemnie uzupełniających się komponentów. Oprócz podstawowego kompilatora, jest tam profiler służący do identyfikowania ?gorącego? kodu. Po jego zidentyfikowaniu kompilator optymalizacyjny rekompiluje ?gorący kod?, wprowadzając takie optymalizacje jak liniowa alokacja rejestrów czy niezależne od pętli przenoszenie kodu. Finalnie uruchamiana jest obsługa ?deoptymalizacji?, aby znaleźć wypadki, w których kompilator ?przedobrzył? i przyniósł zbyt wiele optymalizacji. Kiedy tak się stanie, engine wraca do podstawowego kompilatora.

Zespół deweloperów engine'u TraceMonkey, zachwycając się projektem Google'a, jednocześnie zapowiedział, że zespół JavaScriptu Mozilli, wraz z jej społecznością programistów, ?zdecydowanie posiada umiejętności i zasoby? pozwalające na rozbudowanie engine'u Firefoksa tak, by dorównał on rozszerzonemu o Crankshaft engine'owi V8.

Jak stwierdził David Mandelin z Mozilli, problem w tym, że engine Firefoksa, choć realizuje podobne do Crankshafta optymalizacje, to zapisuje dany ślad (trace) ? powtórnie wykorzystaną pętlę kodu ? tylko raz. Tymczasem ?wał korbowy? profiluje kod nieustannie, w dodatku optymalizując całe metody, a nie tylko poszczególnie ślady, wykorzystując przy tym liniowe cache'owanie.

Prace nad nowym engine Mozilli rozpoczną się tuż po wydaniu Firefoksa 4. ?Wiele mamy do zrobienia ? gra się znów rozpoczęła? ? podsumował Mandelin, cytując swojego kolegę z zespołu, Davida Andersona.

źródło: theregister.co.uk

 


Tworzenie stron łódź strony internetowe - ul. Bitwy nad Bzurą 22a - 99-100 Łęczyca - tel 024 3617373 - fax 024 3617375