Krijuesi i QEMU dhe FFmpeg publikoi motorin JavaScript QuickJS

Matematikani francez Fabrice Bellard, i njohur për krijimin e projekteve QEMU dhe FFmpeg, si dhe për formulën më të shpejtë për llogaritjen e numrit Pi dhe formatin e imazheve BPG, publikoi numrin e parë të motorit të ri JavaScript. BPG, i cili është i kompakt dhe i përshtatur për t'u integruar në sisteme të tjera. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën MIT. Gjithashtu, ekziston një ndërtim i motorit, i kompiluar në WebAssembly me ndihmën e Emscripten dhe i përshtatshëm për t'u ekzekutuar në shfletuesit. QuickJSImplementimi i JavaScript

plotëson specifikimin ES2019, duke përfshirë module, gjenerues asinkron dhe proxy. Opcionalisht, mbështeten mathë të pa standardizuar mbështet për JavaScript, të tilla si tipet BigInt dhe BigFloat, si dhe shtesës mbingarkesa e operatorëve . Në performancë, QuickJS është dukshëmmë i shpejtë se alternativat ekzistuese; për shembull, në një test kalon bench-v8, motori
i tejkalon me shtatë herë. XS me 35%, DukTape për më shumë se dyfish, JerryScript me tre herë, ndërsa MuJS Përveç bibliotekës për integrimin e motorit në aplikacione, projekti ofron gjithashtu një interpretuese qjs, e cila mund të përdoret për ekzekutimin e kodit JavaScript nga rreshti komandës. Më tepër, ekziston një kompilator qjsc, i cili është në gjendje të gjenerojë skedarë ekzekutivë, të cilët nuk kërkojnë varësi të jashtme.

Kompaktësia dhe lehtësia e integrimit në projekte të tjera. Kodi përfshin vetëm disa skedarë në gjuhën C, pa nevojën për varësi të jashtme për ndërtimin. Një aplikacion i thjeshtë i kompiluar merr rreth 190 KB;

Karakteristikat kryesore:

  • PerformancĂ« shumĂ« e lartĂ« dhe kohĂ« e shkurtĂ«r inicializimi. Kalimi i 56 mijĂ« testeve pĂ«r pĂ«rputhshmĂ«rinĂ« me ECMAScript zgjat rreth 100 sekonda kur ekzekutohet nĂ« njĂ« bĂ«rthamĂ« tĂ« zakonshme tĂ« njĂ« PC desktop. Inizializimi i runtime merr mĂ« pak se 300 mikrosekonda;
  • MbĂ«shtetje pothuajse e plotĂ« e specifikimit ES2019 dhe mbĂ«shtetje e plotĂ« e aplikacionit 'B', i cili pĂ«rcakton komponentĂ«t pĂ«r pĂ«rputhshmĂ«rinĂ« me aplikacionet web tĂ« vjetra;
  • PlotĂ«simi i tĂ« gjitha testeve nga grupi ECMAScript Test Suite;
  • MbĂ«shtetje pĂ«r kompilimin e kodit JavaScript nĂ« skedarĂ« ekzekutivĂ« pa varĂ«si tĂ« jashtme;
  • Garazh dhellĂ«zimi i bazuar nĂ« numĂ«rimin e referencave pa pastrimin ciklik, qĂ« ka lejuar arritjen e njĂ« sjelljeje tĂ« parashikueshme dhe zvogĂ«lim tĂ« konsumit tĂ« memories;
  • NjĂ« grup zgjerimesh pĂ«r llogaritjet matematike nĂ« JavaScript;
  • NjĂ« ambient pĂ«r ekzekutimin e kodit nĂ« rimĂ« komandash me mbĂ«shtetje pĂ«r ndriçimin e kontekstit;
  • NjĂ« bibliotekĂ« standarde kompakte me pĂ«rshtatje mbi bibliotekĂ«n C.
  • Projekti gjithashtu zhvillon tre biblioteka tĂ« tjera C, tĂ« pĂ«rfshira nĂ« QuickJS dhe tĂ« pĂ«rshtatshme pĂ«r pĂ«rdorim tĂ« veçantĂ«:

libregexp — njĂ« implementim i shpejtĂ« i shprehjeve tĂ« rregullta, plotĂ«sisht tĂ« pĂ«rshtatshme me specifikimin JavaScript ES 2019;

  • libunicode — njĂ« bibliotekĂ« kompakte pĂ«r punĂ« me Unicode;
  • libbf — njĂ« implementim i operacioneve me pikĂ« lundruese me saktĂ«si tĂ« rastĂ«sishme dhe funksione transcendentes me rrumbullakim tĂ« saktĂ«.
  • libbf — implementimi i operacioneve me presjen tĂ« lĂ«vizshĂ«m me saktĂ«si tĂ« rastĂ«sishme dhe funksione transcedentale me rumbullakim tĂ« saktĂ«.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster