Muvambi weQEMU neFFmpeg akaburitsa iyo QuickJS JavaScript injini

Nyanzvi yemasvomhu yekuFrance, Fabrice Bellard, akatanga mapurojekiti eQEMU neFFmpeg, akagadzirawo fomura inomhanyisa yekuverenga nhamba Pi uye akagadzira chimiro chemufananidzo. GDP, yakaburitsa yekutanga kuburitswa kwejini itsva yeJavaScript QuickJS. Injini inokwana uye yakagadzirirwa kubatanidzwa mune mamwe masisitimu. Iyo kodhi yeprojekiti yakanyorwa muC uye inogoverwa pasi peMIT rezenisi. Kuvakwa kweinjini kunowanikwawo, kunounganidzwa muWebAssembly uchishandisa Emscripten uye yakakodzera kuurayiwa mumabhurawuza.

JavaScript Implementation zvitsigiso ES2019 yakatarwa, kusanganisira mamodule, asynchronous jenareta uye proxies. Masvomhu asiri-standard anotsigirwa nesarudzo kuwedzera yeJavaScript, yakadai seBigInt neBigFloat marudzi, pamwe chete opareta kuwandisa. Kuita kwe QuickJS kwakakosha mukuru kune anowanika analogues, semuenzaniso, mubvunzo
bhenji-v8 iri pamberi pejini XS pa 35%, DukTape zvakapetwa kaviri jerryscript katatu uye MuJS kanomwe.

Pamusoro peraibhurari yekumisikidza injini mumashandisirwo, chirongwa ichi chinopawo muturikiri weqjs, anogona kushandiswa kumhanyisa JavaScript kodhi kubva pamutsetse wekuraira. Uyezve, iyo qjsc compiler inowanikwa, inokwanisa kuburitsa mafaera anogona kuitiswa akakodzera kumira-yega kuuraya izvo zvisingade zvekunze zvinotsamira.

Key Features:

  • Compact uye nyore kubatanidza mune mamwe mapurojekiti. Iyo kodhi inosanganisira mashoma maC mafaera asingade zvekunze zvinotsamira pakuungana. Iyo yakapfava yakaunganidzwa application inotora ingangoita 190 KB;
  • Kuita kwakanyanya uye nguva pfupi yekutanga. Kupfuura zviuru makumi mashanu neshanu eECMAScript yekuenderana bvunzo kunotora anenge zana masekonzi kana ichiitwa pane imwechete musimboti weyakajairika desktop PC. Runtime yekutanga inotora isingasviki mazana matatu emicroseconds;
  • Inenge izere rutsigiro rweiyo ES2019 kutsanangurwa uye kutsigirwa kwakazara kweAppendix B, iyo inotsanangura zvikamu zvekuenderana nenhaka yewebhu maapplication;
  • Kupedza kupasa kwese bvunzo kubva kuECMAScript Test Suite;
  • Tsigiro yekunyora kodhi yeJavascript mumafaira anogoneka pasina kutsamira kwekunze;
  • Muunganidzi wemarara anoenderana nereferensi kuverenga pasina cyclic kuchenesa, izvo zvakatitendera kuti tiite hunhu hunofungidzirwa uye kuderedza kushandiswa kwendangariro;
  • Seti yekuwedzera kwekuverenga kwemasvomhu muJavaScript;
  • Goko rekuita kodhi mune yekuraira mutsara modhi, inotsigira mamiriro ekusimbisa kodhi;
  • Compact standard raibhurari ine wrappers pamusoro peC library.

Iyo purojekiti iri zvakare kugadzira matatu anoperekedza C maraibhurari anobatanidzwa muQuickJS uye akakodzera kushandiswa kwega:

  • libregexp - kukurumidza kuisirwa kwemaitiro enguva dzose, inoenderana zvizere neiyo Javascript ES 2019 yakatarwa;
  • libunicode - compact raibhurari yekushanda neUnicode;
  • libbf -Kuitwa kwezvisina kujeka zvinoyangarara nzvimbo mashandiro uye transcendental mabasa ane kutenderera chaiko.

Source: opennet.ru

Voeg