Slik skal Firefox bli mye raskere

Låner kode fra WebKit og får penere og raskere grafikk i Windows.

Det har vært stor fokus på JavaScript-ytelsen til nettleserne de siste årene, og konkurransen mellom i alle fall tre av de fem vanligste nettleserne er intens.

Microsoft har først ganske nylig lovet å gjøre nye med JavaScript-ytelsen til Internet Explorer, noe som gjør at nettleseren ligger bak alle de andre. Mozilla hadde store vyer med JavaScript-motoren TraceMonkey, som kom som en utvidelse til SpiderMonkey i Firefox 3.5, men problemet er at den egentlig bare yter godt under visse betingelser, men ytelsen ellers er på det stiftelsen selv kaller 2007-2008-nivå.

Mozilla har lovet å forbedre ytelsen til Firefox fram mot versjon 4. Nå har de første signalene om hvordan dette skal gjøres, begynt å komme fram i lyset.

Det TraceMonkey gjør, er å observere løkker i JavaScript-koden og å konvertere dem til assembler som kan kjøres svært raskt. Dette kaller Mozilla for «tracing». Men for de øvrige delene av koden, er JavaScript-motoren i Firefox langt mindre optimalisert, sammenlignet med flere av de konkurrerende nettleserne.

Nå har blant annet Mozilla den fordelen at både Firefox og WebKit-motoren, som konkurrentene Safari og Chrome bygger på, er basert på åpen kildekode og tilbys med lisenser som er kompatible med hverandre. Dermed har Mozilla muligheten til å kopiere komponenter fra WebKit, dersom disse faller i smak.

Det har Mozilla nå gjort i prosjektet som kalles for JägerMonkey (eller også JaegerMonkey), som ble startet for et par måneder siden. Prosjektet skal lage en ny JIT-kompilator (Just-in-Time) til SpiderMonkey, og denne tar i bruk assembleren fra WebKits JavaScript-motor, SquirrelFish Extreme, som Apple kaller Nitro.

Ifølge Mozillas David Mandelin, leverer JägerMonkey 18 prosent bedre ytelse enn fortolkeren, men det er før en rekke planlagte optimaliseringer har kommet på plass. En oversikt over disse finnes nederst i dette dokumentet.

Mozillas David Anderson skriver i dette blogginnlegget om en ytelsesforbedring i SunSpider-testen på opptil 45 prosent med dagens utgave av JägerMonkey.

En annen Firefox-relatert nyhet er at de aller ferske Firefox-byggene for Windows Vista og Windows 7 nå har fått på plass maskinvareakselerert gjengivelse av grafikk og fonter, tilsvarende det Microsoft skal komme med i Internet Explorer 9. Dette er basert på programmeringsgrensesnittene DirectWrite og Direct2D i Windows. Dette skal gi raskere og penere gjengivelse av både nytt og eksisterende webinnhold.

Denne støtten er ikke skrudd på som standard i de nyeste Firefox-byggene, men Mozillas Asa Dotzler forteller i dette blogginnlegget hvordan det hele kan aktiveres.

Til toppen