Ranskalainen matemaatikko Fabrice Bellard, joka perusti kerran QEMU- ja FFmpeg-projektit ja loi myös nopeimman kaavan pi:n laskemiseen ja kehitti kuvamuodon
JavaScriptin toteutus
bench-v8 on moottorin edellä
Moottorin sovelluksiin upottamiseen tarkoitetun kirjaston lisäksi projekti tarjoaa myös qjs-tulkin, jolla voidaan ajaa JavaScript-koodia komentoriviltä. Lisäksi saatavilla on qjsc-kääntäjä, joka pystyy luomaan itsenäisiä suoritettavia tiedostoja, jotka eivät vaadi ulkoisia riippuvuuksia.
Tärkeimmät ominaisuudet:
- Kompakti ja helppo integroida muihin projekteihin. Koodi sisältää vain muutamia C-tiedostoja, joiden rakentaminen ei vaadi ulkoisia riippuvuuksia. Käytetty yksinkertainen sovellus vie noin 190 kt;
- Erittäin korkea suorituskyky ja lyhyt käynnistysaika. 56 tuhannen ECMAScript-yhteensopivuustestin läpäiseminen kestää noin 100 sekuntia, kun se suoritetaan tyypillisen pöytätietokoneen yhdellä ytimellä. Ajonaikainen alustus kestää alle 300 mikrosekuntia;
- Lähes täysi tuki ES2019-spesifikaatiolle ja täysi tuki liitteelle B, joka määrittelee komponentit yhteensopivuutta vanhempien verkkosovellusten kanssa;
- Kaikkien ECMAScript Test Suiten testien läpäiseminen;
- Tuki Javascript-koodin kääntämiseen suoritettaviksi tiedostoiksi ilman ulkoisia riippuvuuksia;
- Viitemääräinen roskakori ilman puhdistusjaksoa, mikä mahdollisti ennakoitavan toiminnan ja pienensi muistin kulutusta;
- Joukko laajennuksia matemaattisiin laskelmiin JavaScript-kielellä;
- Shell koodin suorittamiseen komentorivitilassa, joka tukee kontekstuaalista koodin korostusta;
- Kompakti vakiokirjasto, jossa on sidoksia C-kirjaston yli.
Hankkeessa kehitetään myös kolme QuickJS:ssä mukana olevaa ja erilliseen sovellukseen soveltuvaa C-kirjastoa:
- libregexp on säännöllisten lausekkeiden nopea toteutus, joka on täysin yhteensopiva Javascript ES 2019 -määrityksen kanssa;
- libunicode - kompakti kirjasto Unicoden kanssa työskentelemiseen;
- libbf on mielivaltaisten tarkkojen liukulukuoperaatioiden ja tarkan pyöristyksen transsendenttisten funktioiden toteutus.
Lähde: opennet.ru