Apple gaat Safari's JavaScript-engine versnellen

 13.10.21-Mavericks_Push

Nitro, WebKit's JavaScript-interpreter die wordt gebruikt in Apple's Safari, staat op het punt een stuk sneller te worden, omdat Apple schijnbaar een snelheidsverschil tussen zijn browser en zowel de V8-engines van Google Chrome als de SpiderMonkey-engines van Mozilla Firefox wil dichten.

De overgrote meerderheid van de hedendaagse webapplicaties gebruikt JavaScript voor interactiviteit en andere doeleinden, dus eventuele verbeteringen in de JavaScript-prestaties van een browser zouden normaal gesproken doorsijpelen naar het niveau van de eindgebruiker, wat resulteert in vlotter surfen op het web...

MacRumors redacteur Eric Slivka geeft een verslag door van InfoWorld uitleggen dat Apple's werk aan het verbeteren van de JavaScript-prestaties in Safari voortkomt uit de opname van zogenaamde accelerator-upgrades in recente builds van WebKit, een webweergave-engine die Apple heeft ontwikkeld en later open source voor het publiek.

Concreet speelt Apple met zogenaamde FTLJIT-upgrades naar WebKit's Nitro JavaScript-interpreter, ook bekend als JavaScriptCore.

In feite Apple's eigen JavaScript-interpreter, FTLJIT is gebaseerd op een algemene optimalisatietechniek die bekend staat als just-in-time compileren, die door mensen leesbare JavaScript-commando's vertaalt naar machinecode tijdens de uitvoering, waardoor JavaScript bijna net zo snel wordt uitgevoerd als native code.

InfoWorld legt uit:

FTLJIT wordt nog steeds als experimenteel beschouwd, dus hoewel het standaard beschikbaar wordt gemaakt in de OS X-poort van WebKit, is het nog niet echt ingeschakeld - het moet worden ingeschakeld via opdrachtregelvlaggen.

De AreWeFastYet JavaScript-benchmarkwebsite heeft FTLJIT aanzienlijk sneller gevonden dan Chrome op 64-bits OS X, hoewel Firefox asm.js-versies van dezelfde benchmarks uitvoert 'nog steeds consequent WebKit verslaan' .

Een kenmerk dat FTLJIT des te meer zou kunnen laten opvallen, is hoe goed het JavaScript-code uitvoert die niet specifiek is geoptimaliseerd voor asm.js.

Elke JavaScript-engine zal asm.js-code uitvoeren, maar alleen Mozilla's SpiderMonkey eert asm.js-specifieke optimalisaties, en op dit moment heeft geen enkele andere browsermaker ervoor gekozen om Mozilla's voorbeeld te volgen.

Aangezien FTLJIT momenteel wordt geprototypeerd, was er geen woord over wanneer de technologie zou kunnen worden geleverd in de consumentenversie van Safari.

Een mobiele Safari-editie die in iOS wordt gebruikt, bevat de Nitro Javascript-interpreter, maar vreemd genoeg niet de insluitbare browser die beschikbaar is voor ontwikkelaars. Dat gezegd hebbende, verwachten we uiteindelijk dat de FTLJIT-snelheidsboost zal worden toegepast op iPhone-, iPod touch- en iPad-apparaten, naast Macs.

Misschien zal FTLJIT zijn weg vinden naar OS X 10.10 en iOS 8 ?

2 juni kan niet snel genoeg komen...