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 — реализация операций с плавающей запятой произвольной точности и трансцендентных функций с точным округлением.

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