Mellékleteink: HUP | Gamekapocs
Keres

Csak az Apple ódzkodik a vektoros típusoktól

Gálffy Csaba, 2015. május 20. 12:22
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Újabb front nyílhat a böngészőháborúban, a nagy böngészők ugyanis nem állnak fel egységesen a SIMD.js kiterjesztés mögött. Az új JavaScript-képesség a vektoros műveleteket gyorsíthatja, az Apple azonban elzárkózik az implementációtól.

Már csak az Apple maradt adós a SIMD.js támogatásával, miután a Google hivatalosan bejelentette, a Chrome-ban is implementálni fogja az új, különleges vektoros típusokat. A Microsoft és a Mozilla szintén beállt már a sorba, így várhatóan év végére minden jelentős részesedéssel rendelkező böngészőben elérhető lesz majd az új képesség - kivéve a Safarit. A támogatás már tesztelhető a Chrome és a Firefox fejlesztői kiadásában, év végére várhatóan a Chrome (és az azonos műszaki alapokat használó Opera), a Firefox és a Microsoft Edge is támogatni fogja a kiterjesztést.

SIMD.js - új típusok, vektoros feldolgozáshoz

A SIMD.js három új vektoros típust ad a JavaScripthez, a float64x4, float64x2 és uint32x4, valamint az ezekhez tartozó Typed Array nézeteket. A típusokon végzett műveleteket már az adott böngésző JavaScript-motorjának kell az adott hardverplatform által támogatott tulajdonképpeni SIMD-utasításokra lefordítani, a típusok használatával azonban lehetőség nyílik arra, hogy ezt a fejlesztő megkönnyítse.

A típusok használatával rendkívül meggyorsítható az olyan adatok feldolgozása, amelyek jellemzően 2-3-4 tagú vektorokba rendezhetőek. Az első implementációk tesztjei szerint a gyorsulás adott feladatok alatt 3-12-szeres is lehet, elsősorban grafikus (2D és 3D) rutinok, digitális jelfeldolgozás és titkosítási illetve tömörítési eljárások profitálhatnak belőle. A gyorsulásból szintén hatalmasat profitálhatnak azok a keretrendszerek, amelyek a JavaScriptet köztes nyelvként használják - a dedikált SIMD típusok ezek teljesítményét is közelebb hozhatják a natív kódhoz.

Részletesebb leírást és bemutatót a Mozilla és az Intel oldalán lehet olvasni.

Az Apple nemet mond?

Egyelőre a nagy szereplők közül csak az Apple hallgat mélyen az implementációról. Mivel utóbbi a piac jelentős részét birtokolja az erős telefonos-tabletes jelenlét révén, a SIMD.js széles körű elterjedését visszafoghatja, ha a cég nem fogja azt támogatni. A Safari által használt motor, a WebKit fejlesztői levelezőlistáján Nadav Rotem, az Apple fejlesztője még tavaly ősszel fogalmazta meg a típusokkal kapcsolatos kritikát, eszerint a JS-fejlesztők helyett a motornak, a JIT-fordítónak kell gondoskodnia a JavaScript-kód vektorizációjáról, az adott processzor képességeinek megfelelően. Rotem kritikája szerint a SIMD.js használata egyenetlen, kiszámíthatatlan sebességet produkál hardvertől függően, ami pontosan a JavaScript hordozhatóságának ártana a leginkább.

A WebKit listán kibontakozó vitát érdemes végigolvasni, abból ugyanis a JavaScript jövőjét illető eltérő nézetek csapnak össze. Egyik oldalon a szereplők a JavaScriptet minél közelebb hoznák a natív kódhoz. Ez a hozzáállás egyre több hardveres képességet tesz elérhetővé a fejlesztő számára, mellékhatásként viszont az egyes architektúrák közti különbséggel is a fejlesztőnek kell megbirkóznia. A másik oldal a kiszámítható viselkedést és az architektúrák közötti hordozhatóságot szeretné maximalizálni és tiltakozik minden olyan kezdeményezés ellen, amely a fejlesztőnek hozzáférést ad hardverspecifikus funkciókhoz - ebben a vitában ezt az álláspontot az Apple fejlesztői képviselik.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.