Szerző: Gálffy Csaba

2015. július 09. 11:41:00

Ú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.

Mi történik egy mobilappal a születése után? Legtöbbször sajnos semmi. Ezen próbálunk változtatni egy ingyenes appmenedzsment meetuppal és egy 30 órás képzéssel.

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.

a címlapról

Hirdetés

Mi történik egy mobilappal a születése után?

2020. február 27. 04:04

Legtöbbször sajnos semmi. Ezen próbálunk változtatni egy ingyenes appmenedzsment meetuppal és egy 30 órás képzéssel. A store-ban való megjelenés az igazi munka kezdete: mérés, mérés, mérés, adat, felhasználói visszajelzések kezelése, ASO, monetizálás, marketing... és így tovább.