Ko te kaiwhakarewa o QEMU me FFmpeg i whakaputa te miihini JavaScript QuickJS

Ko Fabrice Bellard te tohunga pangarau French, nana i whakatu nga kaupapa QEMU me FFmpeg, i hanga ano te tauira tere mo te tatau i te tau Pi me te whakawhanake i te whakatakotoranga whakaahua. GDP, i whakaputa i te putanga tuatahi o te miihini JavaScript hou TereJS. He maamaa te miihini me te hoahoa mo te whakauru ki etahi atu punaha. Ko te waehere kaupapa kua tuhia ki te C ka tohatohahia i raro i te raihana MIT. Kei te waatea ano te hanga miihini, ka kohia ki te WebAssembly ma te whakamahi i te Emscripten me te pai mo te mahi i roto i nga kaitirotiro.

Whakatinana JavaScript tautoko ES2019 whakahuahua, tae atu ki nga waahanga, nga kaihanga tukutahi me nga takawaenga. Ka tautokohia nga pangarau kore-paerewa whakawhānui mo JavaScript, penei i nga momo BigInt me BigFloat, me te taumahatanga o te kaiwhakahaere. He mea nui te mahi a QuickJS whakatoi ki analogues e waatea ana, hei tauira, i roto i te whakamatautau
bench-v8 kei mua i te miihini XS i te 35%, DukTape neke atu i te takirua tuhi tuhi e toru nga wa me MuJS e whitu nga wa.

I tua atu i te whare pukapuka mo te whakauru i te miihini ki roto i nga tono, ka tukuna ano e te kaupapa he kaiwhakamaori qjs, ka taea te whakamahi hei whakahaere i te waehere JavaScript mai i te raina whakahau. I tua atu, kei te waatea te kaitoha qjsc, e kaha ana ki te whakaputa i nga konae ka taea te whakaputa e tika ana mo te mahi tu-koke kaore e hiahiatia he whakawhirinaki o waho.

Āhuahira Matua:

  • Kiato me te ngawari ki te whakauru ki etahi atu kaupapa. He ruarua noa nga konae C kei roto i te waehere karekau e hiahia kia whakawhirinaki ki waho mo te huihuinga. Ko te tono whakahiato ngawari ka roa te 190 KB;
  • He tino nui te mahi me te wa whakaoho poto. Kia 56 mano nga whakamatautau hototahi ECMAScript e 100 hēkona ka mahia i runga i te kaupapa kotahi o te PC papamahi auau. He iti iho i te 300 moroiti hekona te wa whakahaere;
  • Tata ki te tautoko katoa mo te whakahuahua ES2019 me te tautoko katoa mo te Apiti B, e whakaatu ana i nga waahanga mo te hototahi ki nga tono tukutuku tuku iho;
  • Whakaoti i nga whakamatautau katoa mai i te ECMAScript Test Suite;
  • Tautoko mo te whakahiato waehere Javascript ki roto i nga konae ka taea te whakahaere me te kore e whakawhirinaki ki waho;
  • He kaikohi paru i runga i te tatau tohutoro me te kore horoi hurihanga, i taea ai e matou te whakatutuki i te whanonga matapae me te whakaiti i te kai mahara;
  • He huinga toronga mo nga tatauranga pangarau i roto i te JavaScript;
  • He anga mo te mahi waehere i roto i te aratau raina whakahau, e tautoko ana i te tohu tohu horopaki;
  • Puna paerewa kiato me nga takai kei runga i te whare pukapuka C.

Kei te whakawhanake ano te kaupapa i nga whare pukapuka C e toru e whai ana i roto i te QuickJS me te pai mo te whakamahi takitahi:

  • libregexp - te whakatinanatanga tere o nga korero auau, he tino hototahi ki te whakaritenga Javascript ES 2019;
  • libunicode - he whare pukapuka kiato mo te mahi me te Waehereao;
  • libbf - Te whakatinanatanga o nga mahi tohu maanu me nga mahi whakawhiti me te whakaawhiwhi tika.

Source: opennet.ru

Tāpiri i te kōrero