Új JavaScript-fordítót kapott a Chrome
A Chrome 41-gyel új fordító is része lett a Google-féle V8 JavaScript-motornak. A TurboFan fokozatosan fogja lecserélni a veterán Crankshaftet, a váltást a JavaScript megváltozott szerepe indokolja. Az új kompiler már 64 bites gépi kódot is tud gyártani.
Új JavaScript-fordító mutatkozott be a Chrome 41-es kiadásában. A TurboFan névre keresztelt kompiler ugyanúgy JIT (just-in-time) rendszerű, mint az előző generációs Crankshaft, azonban annál gyorsabb, jobban optimalizált gépi kódot állít elő. A Google saját Octane teljesítménytesztjében a zlib tömörítés benchmark mintegy 29 százalékos gyorsulást mutat - a fordító által előállított, jobb minőségű kód tehát kézzelfogható eredményeket hoz.
Az új fordító amúgy vadonatúj fejlesztés, nem a Crankshaft eredményeire épít. Az új kódbázist az első pillanattól fogva úgy szervezték a fejlesztők, hogy a fordító fenntartása és továbbfejlesztése könnyebb legyen. Szintén fontos szempont volt, hogy a kódot a külső fejlesztők is könnyebben megértsék, így jobban hozzá tudnak járulni az eszköz fejlődéséhez. Ez fontos szempont, a Google Chrome és a kapcsolódó technológiák, mint a V8 JS-motor is nagyban támaszkodik külső fejlesztők hozzájárulásaira, a TurboFan az ő igényeiket jobban kiszolgálja majd a cég reményei szerint.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
Az alapoktól újragondolt kompiler sokkal többféle kódot tud már optimalizálni, mint az elődje, támogatja a rugalmas és dinamikus optimalizálási módokat is. A fejlesztők szerint a Crankshaft számára különösen problémásnak számító JavaScript-kódok, mint az asm.js, class literals, számított jellemzők és for-of ciklusok esetében is sokkal hatékonyabban tud optimalizálni a TurboFan. A gyorsulás egyelőre nem általános, ezért a TurboFan egyelőre nem váltja ki teljesen a Crankshaftet, de a középtávú cél egyértelműen a régi motor nyugdíjazása és az új eszköz alapértelmezett használata.
A Crankshaft egyébként nem mai gyerek, a fordítót még 2010-ben jelentette be a Google. Azóta a webes alkalmazások területe gyökeresen átalakult, és ezzel megváltozott az a JavaScript-kód is, amellyel a fordítók leggyakrabban találkoznak. Ha ehhez hozzávesszük, hogy maga a JavaScript is átalakult (lásd ECMAScript 6), akkor összegeztük azokat az érveket, amelyek miatt a Google inkább úgy döntött, hogy egy teljesen új fordítót készít.
A TurboFan először 2014 augusztusában jelent meg a Chromium forráskód-kezelőjében, rögtön 72 ezer sornyi kóddal - és ahogy említettük, ebből semmi nem közös a Crankshafttel. A TurboFan egyik jellegzetessége amúgy, hogy képes mind x86-on, mind ARM architektúrán 64 bites kódot előállítani, erre tudomásunk szerint a Crankshaft nem képes és a funkciót várhatóan nem is fogja visszaportolni a Google.
A keresőóriás ígérete szerint a magasabb teljesítmény kiaknázásához a webes fejlesztőknek semmit sem kell tenniük, a motor saját hatáskörben intézkedik az optimális végrehajtásról.