:

Szerző: Gálffy Csaba

2014. február 14. 14:46

Külön szálat kap a Chrome JavaScript-fordítója

A Chrome legújabb, egyelőre béta állapotú kiadása fontos újdonságot hoz a motorháztető alatt: a V8 JavaScript-motor immár külön szálon végzi a kód optimalizálását és végrehajtását, így a két feladat nem akasztja meg kölcsönösen egymást. Az eredmény: kevesebb fennakadással futó weboldalak.

A Chrome JavaScript-motorja, a V8 just-in-time (JIT) fordítót használ, vagyis a függvényekből csak közvetlenül első meghívásuk előtt készít gépi kódot, majd lefuttatja azt. Az első lépésben ezért egy gyors fordító dolgozik, amely viszonylag lassú gépi kódot generál a JavaScriptből, azt azonban villámgyorsan teszi. A következő lépcsőben a sűrűn használt függvények és kódrészletek további optimalizációt kapnak, ennek eredménye villámgyorsan végrehajtható alkalmazás lesz, az optimalizált újrafordítás azonban nagyon időigényes.

Jelenleg...

A problémát az okozza, hogy a V8 jelenlegi változata a JavaScript-motor fő szálán végzi a fordítást és a végrehajtást is. A gyakorlatban ez azt jelenti, hogy az optimalizáló fordítás idejére az alkalmazás futását felfüggeszti, ami a felhasználó számára jól érzékelhető fennakadást jelent a weboldal működésében. A Google által hozott példa az Octane benchmark Mandreel tesztje, ebben az optimalizáló fordítás akár 6 tizedmásodpeces akadást is összehozhat, míg a bonyolult programból hatékony gépi kód keletkezik.

Az új fejlesztésnek köszönhetően az optimalizáló fordítás külön, háttérben futó (alacsonyabb prioritású) programszálat kap, amely többmagos processzorokon akár külön magon is futhat. Az eredmény, hogy a két feladat immár futhat párhuzamosan, a JavaScript futása pedig sokkal folyamatosabbá válik ennek következtében. A fejlesztés a benchmarkokban is érezhető gyorsulást hoz, a már említett Mandreel tesztben például 27 százalékkal magasabb a mért teljesítmény azonos hardveren (Nexus 5).

...és hamarosan.

Az AI és a nagy full-full-stack trend

Az AI farvizén számos új informatikai munkakör születik, vagy már ismert munkák kapnak új nevet és vele extra elvárásokat is.

Az AI és a nagy full-full-stack trend Az AI farvizén számos új informatikai munkakör születik, vagy már ismert munkák kapnak új nevet és vele extra elvárásokat is.

A képen egyébként látható, hogy a kódoptimalizáció és maga a futtatás szinte ugyanannyi számítási kapacitást emészt fel a futás első néhány másodpercében. Az első 4500 ezredmásodpercben az optimalizáló fordító az idő 40 százalékát emészti fel, a futtatásra (az egyéb feladatok miatt) pedig csak 48 százalék jut. A leválasztott fordítóval a futtatás részaránya 74 százalékra tud emelkedni, a fő szálon futó fordítás pedig 14,5 százalékra zsugorodik. Ennél is fontosabb azonban a felhasználó szempontjából, hogy a drámai, több, mint fél másodperces szünet teljesen eltűnik, a legnagyobb akadás hossza mintegy 100 ezredmásodpercre csökken.

A JavaScript sebessége az elmúlt években látványosat lépett előre, a különböző böngészőgyártók motorjai pedig újabb és újabb innovációkkal gyorsítják az alkalmazások futását. Ennek köszönhetően az asztali gépeken már a natív alkalmazásokhoz mérhető felhasználói élményt nyújtanak a webes alkalmazások. A mobileszközök szerény sebességű processzorai számára azonban a komplex webes alkalmazások ma is nagy terhet jelentenek, így a fejlesztések legújabb célpontját már a telefonokra és tabletekre történő optimalizáció jelenti.

Szeptember 15-én, hétfőn ONLINE formátumú, a Kafka alapjaiba bevezető képzést indít a HWSW, ezért most összefoglaltuk röviden, hogy miért érdemes részt venni ezen a tanfolyamon.

a címlapról

MS

0

Lezárta a Teams-ügyet az EU

2025. szeptember 12. 12:45

A Bizottság elfogadta a Microsoft által tett engedményeket, nincs retorzió az idestova öt éve húzódó eljárás végén.

bango

7

Tartalomautomatával bővül a OneTV

2025. szeptember 12. 09:27

A One tévés platformjába a Bango DVM-jét integrálják, ami jelentős mértékben megkönnyíti az új tartalomszolgáltatások bevezetését.