QuickJS - lahek mehanizem JavaScript, ki so ga razvili ustanovitelj QEMU in FFmpeg

JavaScript

Francoski matematik Fabrice Bellard, ki je ustanovil projekta QEMU in FFmpeg ter ustvaril tudi najhitrejšo formulo za izračun števila Pi in razvil format slike BPG.

Fabrice Bellard je najbolj znan kot vodilni razvijalec QEMU (emulator, ki posnema različne arhitekture strojne opreme) in Tiny C Compiler (tcc), zelo majhen, a celovit prevajalnik C, prvotno napisan za zmago na "Mednarodnem natečaju za kode C".

Zdaj pred kratkim je javnosti delil prvo različico svojega novega dela ki je v JavaScript in to je nov motor z imenom JavaScript QuickJS.

O JavaScript QuickJS

Mehanizem JavaScript QuickJS je kompakten in zasnovan za vgradnjo v druge sisteme. Koda projekta Napisan je v jeziku C in se distribuira pod licenco MIT. Na voljo je tudi zgradba motorja, sestavljena v WebAssembly z uporabo Emscripten in primerna za zagon v brskalnikih.

Implementacija JavaScript Podpira specifikacijo ES2019, vključno z moduli, asinhronimi generatorji in strežniki proxy.

V mehanizmu JavaScript QuickJS podprte so neobvezne nestandardne matematične razširitve za JavaScript, kot sta tipa BigInt in BigFloat, pa tudi preobremenitev operaterja.

QuickJS po zmogljivosti bistveno presega razpoložljive analogeNa primer, v preskusu bench-v8 je XS motor za 35% večji, DukTape se je več kot podvojil, JerryScript trikrat in MuJS sedemkrat.

Poleg knjižnice za vdelavo motorja v aplikacijo, projekt ponuja tudi tolmač qjs, ki se lahko uporablja za zagon kode JavaScript iz ukazne vrstice.

Poleg tega, prevajalnik qjsc je na voljo in lahko prikaže izvršljive datoteke, ki jih je mogoče zagnati ločeno in da te ne zahtevajo zunanjih odvisnosti.

Med glavnimi značilnostmi mehanizma QuickJS JavaScript izstopajo naslednje točke:

  • Kompakten in enostaven za vključitev v druge projekte. Koda vključuje le nekaj datotek C, ki ne zahtevajo zunanje odvisnosti za izdelavo. Preprosta sestavljena aplikacija traja približno 190 Kb
  • Zelo visoke zmogljivosti in hitri zagonski časi. Opravljanje 56 tisoč testov združljivosti ECMAScript traja približno 100 sekund, ko zaženete običajno namizje v jedru. Inicializacija med izvajanjem traja manj kot 300 mikrosekund
  • Skoraj popolna podpora za specifikacijo ES2019 in popolna podpora za aplikacijo "B", ki določa komponente za združljivost s starejšimi spletnimi aplikacijami
  • Dokončajte prehod vseh testov v zbirki preizkusov ECMAScript
  • Podpora za prevajanje kode Javascript v izvršljive datoteke brez zunanjih odvisnosti
  • Zbiralnik smeti se zanaša na štetje referenc brez cikličnega čiščenja, kar omogoča predvidljivo vedenje in manjšo porabo pomnilnika
  • Nabor razširitev za matematične izračune v jeziku JavaScript
  • Lupina za izvajanje kode v načinu ukazne vrstice, ki podpira poudarjanje kontekstualne kode
  • Kompaktna standardna knjižnica nad knjižnico C.

Poleg tega je dr. Po drugi strani pa projekt razvija tudi tri knjižnice C povezane stranke, vključene v QuickJS in primerne za individualno uporabo:

  1. freegexp: majhna in hitra knjižnica regularnih izrazov, ki ustreza specifikaciji JavaScript ES2019
  2. libunicode: majhna knjižnica Unicode, ki podpira pretvorbo velikih in malih črk, normalizacijo Unicode, zahteve za skripte Unicode, poizvedbe splošne kategorije Unicode in vse binarne lastnosti Unicode
  3. libbf: To je tudi majhna knjižnica, ki izvaja operacije s plavajočo vejico IEEE 754 in transcendentalne funkcije z natančnim zaokroževanjem. Hrani se kot ločen projekt.

Kako priti do SavaScript QuickJS?

Prenos izvorne kode za prevajanje je mogoče iz naslednjo povezavo. Po namestitvi je na voljo Makefile za prevajanje motorja v Linux ali Mac OS / X.

Na isti povezavi si lahko ogledate dokumentacijo QuickJS za več informacij. Ponuja tudi primerjalne informacije, ki prikazujejo delovanje QuickJS z Googlovim motorjem V8 in primerjavo med njim in drugimi orodji v isti kategoriji.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.