C++-ről JavaScript-re átírással gyorsítható a weboldalak működése

2014.07.07 21:46

Egy új projekt egy első hallásra ellentmondásosnak tűnő módon próbálja meg még tovább gyorsítani a már egyébként is igen szép sebességgel futó webalkalmazások működését. A fast.js ugyanis azon keresztül éri el a programokat alkotó kódok további gyorsulását, hogy JavaScript-ben implementálja újra a böngésző által egyébként alapból biztosított, eredetileg C++-ban írt függvények egy részét.

 

A szóban forgó függvények esetében természetesen a standard JavaScript osztályokról és függvényekről (pl. .foreach, .map, .indexOf, stb.) van szó, amik végrehajtási sebessége a jelek szerint jelentős mértékben növelhető a modern JavaScript motorokban, ha magában a szkriptnyelvben implementálják újra őket. További gyorsítás érhető el azon keresztül, ha a függvények úgy kerülnek egyszerűsítésre, hogy bizonyos határ- vagy speciális eseteket - amik kezelését ugyan az ECMAScript specifikáció elvileg megköveteli, de amiket egy adott webalkalmazás nem használ ki, vagy amiket maga is lekezel - nem vizsgálnak le bennük.

Az érdem persze végső soron a modern JavaScript-motoroké, amelyek a jelek szerint manapság már a natív C++-ban írtakéval egyező sebességű vagy azoknál bizonyos esetekben akár gyorsabb kódot is tudnak generálni a standard függvények JavaScript újraimplementációi mögé. Az elérhető sebességnövekedés ugyan függvényenként jelentős mértékben eltér, a benchmarkok szerint azonban a 30%-ostól 3650%-osig is terjedhet.

A fast.js-ről további információk a projekt GitHub kódtárában olvashatók.

 

Elérhetőség

D-Knight számtech oldala knighthungary1989@freemail.hu