Fabrice Bellard francia matematikus, aki a QEMU és az FFmpeg projekteket alapította, megalkotta a leggyorsabb képletet a Pi szám kiszámításához, és kifejlesztette a képformátumot.
JavaScript implementáció
bench-v8 megelőzi a motort
A motor alkalmazásokba való beágyazására szolgáló könyvtár mellett a projekt egy qjs értelmezőt is kínál, amellyel JavaScript kódot lehet futtatni parancssorból. Ezenkívül rendelkezésre áll a qjsc fordító, amely képes önálló végrehajtásra alkalmas kimeneti futtatható fájlok előállítására, amelyek nem igényelnek külső függőséget.
Főbb jellemzői:
- Kompakt és könnyen integrálható más projektekbe. A kód csak néhány C-fájlt tartalmaz, amelyek nem igényelnek külső függőséget az összeállításhoz. A legegyszerűbb lefordított alkalmazás körülbelül 190 KB-ot vesz igénybe;
- Nagyon nagy teljesítmény és rövid indítási idő. Az 56 ezer ECMAScript-kompatibilitási teszt sikeres teljesítése körülbelül 100 másodpercet vesz igénybe, ha egy normál asztali számítógép egyetlen magján hajtják végre. A futásidejű inicializálás kevesebb mint 300 mikroszekundumot vesz igénybe;
- Szinte teljes mértékben támogatja az ES2019 specifikációt és teljes mértékben támogatja a B függeléket, amely meghatározza a régi webalkalmazásokkal való kompatibilitás összetevőit;
- Az ECMAScript Test Suite összes tesztjének teljes teljesítése;
- Javascript kód futtatható fájlokká fordításának támogatása külső függőségek nélkül;
- Ciklikus tisztítás nélküli referenciaszámláláson alapuló szemétgyűjtő, amely lehetővé tette a kiszámítható viselkedés elérését és a memóriafelhasználás csökkentését;
- Bővítmények készlete matematikai számításokhoz JavaScriptben;
- Shell kód parancssori módban történő végrehajtásához, amely támogatja a kontextuális kódkiemelést;
- Kompakt szabványos könyvtár a C könyvtár feletti burkolókkal.
A projekt három kísérő, QuickJS-ben részt vevő és egyéni használatra alkalmas C-könyvtárat is fejleszt:
- libregexp - reguláris kifejezések gyors megvalósítása, teljes mértékben kompatibilis a Javascript ES 2019 specifikációval;
- libunicode - egy kompakt könyvtár a Unicode-dal való munkához;
- libbf - Tetszőleges precíziós lebegőpontos műveletek és transzcendentális függvények megvalósítása pontos kerekítéssel.
Forrás: opennet.ru