I-QuickJS -injini yeJavaScript engasindi ephuhliswe ngumseki weQEMU kunye neFFmpeg

JavaScript

Isazi sezibalo esingumFrentshi uFabrice Bellard, Owasungula iiprojekthi zeQEMU kunye neFFmpeg kwaye wenza ifomula ekhawulezayo yokubala inani lePi kwaye wavelisa ifomathi yomfanekiso weBPG.

UFabrice Bellard unjalo Waziwa kakhulu njengomphuhlisi ophambili weQEMU (i-emulator ekhuphela uyilo lwehardware eyahlukeneyo) kunye ne-Tiny C Compiler (tcc), encinci kakhulu kodwa ebanzi yeC compiler, eyayibhalelwe ukuphumelela ukhuphiswano lwe "International Obfuscated C Code Contest".

Ngoku kutshanje wabelane noluntu ingxelo yokuqala yomsebenzi wakhe omtsha ekuJavaScript kwaye oku kunjalo injini entsha ebizwa ngokuba yiJavaScript ekhawulezileyoJS.

Malunga neJavaScript QuickJS

Injini yeJavaScript yeJavaJS icwecwe kwaye iyilelwe ukuba ifakwe kwezinye iinkqubo. Ikhowudi yeprojekthi Kubhaliwe kwi-C kwaye kwasasazwa phantsi kwelayisensi ye-MIT. Ikwakhona injini eyakhiweyo edityaniswe kwiWebhu yokuSebenzisa isebenzisa i-Emscripten kwaye ilungele ukusebenza kwizikhangeli.

Ukuphunyezwa kweJavaScript ixhasa ukucaciswa kwe-ES2019, kubandakanya iimodyuli, ii-asynchronous generator, kunye neeproxies.

Kwinjini yeJavaScript yeJavaJS Ukongezwa okungekho semgangathweni kwizandiso zeJavaScript kuyaxhaswa, ezinjengeentlobo zeBigInt kunye neBigFloat, kunye nokulayisha ngaphezulu komqhubi.

Ngokwentsebenzo, i-QuickJS igqitha kakhulu kwii-analogs ezikhoyoUmzekelo, kuvavanyo lwebhentshi-v8, injini ye-XS ingama-35% ngaphambili, iDukTape iphindwe kabini, iJerryScript amatyeli amathathu kunye ne-MuJS kasixhenxe.

Ukongeza kwilayibrari yokufaka i-injini kwisicelo, Iprojekthi ikwabonelela ngetoliki yeQjs, enokusetyenziselwa ukuqhuba ikhowudi yeJavaScript ukusuka kumgca wokuyalela.

Kwakhona, Umhlanganisi we-qjsc uyafumaneka kwaye unakho ukuvelisa iifayile ezinokuphunyezwa ezinokuqhutywa ngokwahlukeneyo kwaye ezi azidingi kuxhomekeka kwangaphandle.

Kwimpawu eziphambili zenjini yeJavaScript yeJavaScript la manqaku alandelayo avela:

  • Idibeneyo kwaye kulula ukuyidibanisa nezinye iiprojekthi. Ikhowudi ibandakanya iifayile ezimbalwa ze-C ezingadingi kuxhomekeka ngaphandle ukwakha. Isicelo esilula esihlanganisiweyo sithatha malunga ne-190 Kb
  • Ukusebenza okuphezulu kakhulu kunye namaxesha okuqalisa ngokukhawuleza. Ukugqitha iimvavanyo ezingama-56 zamawaka zokuvavanywa kwe-ECMAScript kuthatha malunga nemizuzwana eli-100 xa uqhuba idesktop eqhelekileyo kwikheneli. Ukuqaliswa kwexesha lokuqalisa kuthatha i-microsecond ezingaphantsi kwama-300
  • Phantse inkxaso epheleleyo yenkcazo ye-ES2019 kunye nenkxaso epheleleyo yesicelo se "B", esichaza izinto zokuhambelana nezicelo ezindala zewebhu
  • Gcwalisa ukuhanjiswa kwazo zonke iimvavanyo ze-ECMAScript Test Suite
  • Inkxaso yokuqulunqa ikhowudi yeJavascript kwiifayile ezinokuphunyezwa ngaphandle kokuxhomekeka kwangaphandle
  • Umqokeleli wenkunkuma uxhomekeke ekubaleni ireferensi ngaphandle kokucoca umjikelo, ukuvumela isimilo esinokuqikelelwa kunye nokunciphisa ukusetyenziswa kwememori
  • Iseti yolwandiso lwezibalo kulwimi lweJavaScript
  • Igobolondo yokwenza ikhowudi kwimowudi yelayini yomyalelo, exhasa ukuqaqanjiswa kwekhowudi yokuma
  • Icwecwe lelayibrari esemgangathweni ngaphezulu kwelayibrari engu-C

Ukongeza koku, Kwelinye icala, le projekthi ikwaphuhlisa amathala eencwadi amathathu e-C amaqela ahambelana nawo abandakanyeka kwi-QuickJS kwaye alungele ukusetyenziswa ngumntu ngamnye:

  1. freegexp: ilayibrari encinci kunye nekhawulezayo ye-regex ehambelana nenkcazo yeJavaScript ES2019
  2. inethiwekhi: ilayibrari encinci ye-Unicode exhasa ukuguqulwa kwamatyala, ukuqhelaniswa kwe-Unicode, izicelo zeskripthi se-Unicode, imibuzo yecandelo ngokubanzi le-Unicode, nazo zonke iipropathi zebhanari ze-Unicode
  3. libbf: Eli ikwayilayibrari encinci ephumeza ukusebenza kwe-IEEE 754 yeendawo zokudada kunye nemisebenzi yokudlula ngokuthe ngqo. Igcinwa njengeprojekthi eyahlukileyo.

Uyifumana njani iSavaScript ekhawulezileyo yeJS?

Ukukhuphela ikhowudi yemvelaphi yokudityaniswa kunokwenziwa ukusuka eli khonkco lilandelayo. Emva kofakelo, iMakefile ibonelelwe ukwenza injini kwiLinux okanye kwi-Mac OS / X.

Kwikhonkco elifanayo unokujonga kuxwebhu lwe-QuickJS ngolwazi oluthe kratya. Ikwabonelela ngolwazi lomgangatho obonisa ukusebenza kwe-QuickJS nge-Google V8 injini kunye nokuthelekisa phakathi kwayo kunye nezinye izixhobo ezikudidi olunye.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Inoxanduva lwedatha: I-AB Internet Networks 2008 SL
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.