Franču matemātiķis Fabriss Belards, kurš savulaik nodibināja QEMU un FFmpeg projektus, kā arī izveidoja ātrāko pi aprēķināšanas formulu un izstrādāja attēla formātu
JavaScript ieviešana
bench-v8 ir priekšā dzinējam
Papildus bibliotēkai dzinēja iegulšanai lietojumprogrammās projekts piedāvā arī qjs tulku, ko var izmantot, lai palaistu JavaScript kodu no komandrindas. Turklāt ir pieejams qjsc kompilators, kas spēj ģenerēt atsevišķus izpildāmos failus, kuriem nav nepieciešamas ārējas atkarības.
Galvenās iezīmes:
- Kompakts un viegli integrējams citos projektos. Kods ietver tikai dažus C failus, kuru izveidei nav nepieciešamas ārējas atkarības. Sastādītā vienkāršā lietojumprogramma aizņem apmēram 190 KB;
- Ļoti augsta veiktspēja un zems palaišanas laiks. 56 100 ECMAScript saderības testu nokārtošana aizņem apmēram 300 sekundes, ja tie tiek izpildīti vienā tipiskā galddatora kodolā. izpildlaika inicializācija aizņem mazāk nekā XNUMX mikrosekundes;
- Gandrīz pilnīgs ES2019 specifikācijas atbalsts un pilns atbalsts B pielikumam, kurā ir definēti komponenti saderībai ar vecākām tīmekļa lietojumprogrammām;
- Pilnīga visu testu nokārtošana no ECMAScript Test Suite;
- Atbalsts Javascript koda kompilēšanai izpildāmos failos bez ārējām atkarībām;
- Atsauces skaitīšanas atkritumu savācējs bez tīrīšanas cikla, kas ļāva prognozēt uzvedību un samazināt atmiņas patēriņu;
- Matemātisko aprēķinu paplašinājumu komplekts JavaScript valodā;
- Apvalks koda izpildei komandrindas režīmā, kas atbalsta kontekstuālā koda izcelšanu;
- Kompakta standarta bibliotēka ar saitēm virs C bibliotēkas.
Projekts arī izstrādā trīs pavadošās C bibliotēkas, kas iesaistītas QuickJS un ir piemērotas atsevišķai lietojumprogrammai:
- libregexp ir ātra regulāro izteiksmju ieviešana, kas pilnībā atbilst Javascript ES 2019 specifikācijai;
- libunicode - kompakta bibliotēka darbam ar Unicode;
- libbf ir patvaļīgas precizitātes peldošā komata operāciju un precīzas noapaļošanas transcendentālo funkciju ieviešana.
Avots: opennet.ru