Matematicianul francez Fabrice Bellard, care a fondat proiectele QEMU și FFmpeg, a creat și cea mai rapidă formulă pentru calcularea numărului Pi și a dezvoltat formatul imaginii
Implementarea JavaScript
bench-v8 este înaintea motorului
Pe lângă biblioteca pentru încorporarea motorului în aplicații, proiectul oferă și un interpret qjs, care poate fi folosit pentru a rula cod JavaScript din linia de comandă. Mai mult, este disponibil compilatorul qjsc, capabil să genereze fișiere executabile de ieșire potrivite pentru execuție autonomă care nu necesită dependențe externe.
Caracteristici principale:
- Compact și ușor de integrat în alte proiecte. Codul include doar câteva fișiere C care nu necesită dependențe externe pentru asamblare. Cea mai simplă aplicație compilată durează aproximativ 190 KB;
- Performanță foarte ridicată și timp scurt de pornire. Trecerea a 56 de mii de teste de compatibilitate ECMAScript durează aproximativ 100 de secunde când este executată pe un singur nucleu al unui PC desktop obișnuit. Inițializarea timpului de rulare durează mai puțin de 300 de microsecunde;
- Suport aproape complet pentru specificația ES2019 și suport complet pentru Anexa B, care definește componente pentru compatibilitatea cu aplicațiile web vechi;
- Trecerea completă a tuturor testelor din ECMAScript Test Suite;
- Suport pentru compilarea codului Javascript în fișiere executabile fără dependențe externe;
- Un colector de gunoi bazat pe numărarea referințelor fără curățare ciclică, ceea ce ne-a permis să obținem un comportament previzibil și să reducem consumul de memorie;
- Un set de extensii pentru calcule matematice în JavaScript;
- Un shell pentru executarea codului în modul linie de comandă, care acceptă evidențierea contextuală a codului;
- Bibliotecă standard compactă cu împachetare peste biblioteca C.
Proiectul dezvoltă, de asemenea, trei biblioteci C însoțitoare implicate în QuickJS și potrivite pentru utilizare individuală:
- libregexp - implementare rapidă a expresiilor regulate, pe deplin compatibil cu specificația Javascript ES 2019;
- libunicode - o bibliotecă compactă pentru lucrul cu Unicode;
- libbf - Implementarea operațiilor în virgulă mobilă de precizie arbitrară și a funcțiilor transcendentale cu rotunjire exactă.
Sursa: opennet.ru