Den franske matematiker Fabrice Bellard, som engang grundlagde QEMU- og FFmpeg-projekterne, og som også skabte den hurtigste formel til beregning af pi og udviklede billedformatet
JavaScript implementering
bench-v8 er foran motoren
Udover biblioteket til indlejring af motoren i applikationer tilbyder projektet også qjs-fortolkeren, som kan bruges til at køre JavaScript-kode fra kommandolinjen. Desuden er qjsc-kompileren tilgængelig, som er i stand til at generere selvstændige eksekverbare filer, der ikke kræver eksterne afhængigheder.
Hovedtræk:
- Kompakt og nem at integrere i andre projekter. Koden indeholder kun nogle få C-filer, der ikke kræver eksterne afhængigheder at bygge. Den kompilerede simple applikation tager omkring 190 KB;
- Meget høj ydeevne og lav opstartstid. At bestå 56 ECMAScript-kompatibilitetstest tager omkring 100 sekunder, når det udføres på en enkelt kerne på en typisk stationær pc. Runtime initialisering tager mindre end 300 mikrosekunder;
- Næsten fuld understøttelse af ES2019-specifikationen og fuld understøttelse af Annex B, som definerer komponenter til kompatibilitet med ældre webapplikationer;
- Fuldstændig beståelse af alle test fra ECMAScript Test Suite;
- Understøttelse af kompilering af Javascript-kode til eksekverbare filer uden eksterne afhængigheder;
- Referencetalt skraldeopsamler uden oprydningscyklus, hvilket muliggjorde forudsigelig adfærd og reduceret hukommelsesforbrug;
- Et sæt udvidelser til matematiske beregninger i JavaScript-sproget;
- En shell til at udføre kode i kommandolinjetilstand, der understøtter kontekstuel kodefremhævning;
- Et kompakt standardbibliotek med bindinger over C-biblioteket.
Projektet udvikler også tre ledsagende C-biblioteker involveret i QuickJS og egnet til en separat applikation:
- libregexp er en hurtig implementering af regulære udtryk, der er fuldt ud kompatibel med Javascript ES 2019-specifikationen;
- libunicode - et kompakt bibliotek til at arbejde med Unicode;
- libbf er en implementering af vilkårlige præcisionsoperationer med flydende komma og eksakte afrundende transcendentale funktioner.
Kilde: opennet.ru