QEMU ma le FFmpeg Founder Fa'asalalauina le QuickJS JavaScript Engine

Falani mathematician Fabrice Bellard, o le na faavaeina le QEMU ma le FFmpeg poloketi, na ia faia foi le faiga sili ona vave mo le fuafuaina o Pi ma atiina ae le faatulagaga o ata. GDP, lomia le uluai tatalaina o le afi JavaScript fou QuickJS. O le afi e faʻapipiʻi ma fuafuaina mo le tuʻufaʻatasia i isi faiga. O le fa'ailoga o le poloketi o lo'o tusia i le C ma fa'asoa i lalo ole laisene MIT. O loʻo maua foʻi se faʻaogaina o le afi, tuʻufaʻatasia i le WebAssembly e faʻaaoga ai Emscripten ma talafeagai mo le faʻatinoina i suʻesuʻega.

JavaScript Fa'atinoga lagolago ES2019 faʻamatalaga, e aofia ai modules, generators asynchronous ma proxies. Ole numera e le'i fa'ata'atia e mafai ona lagolagoina faʻaopoopoga mo JavaScript, pei o ituaiga BigInt ma BigFloat, faʻapea foʻi ma fa'apipi'i ova. Ole faʻatinoga ole QuickJS e taua tele silisili i analogues avanoa, mo se faʻataʻitaʻiga, i le suʻega
bench-v8 o loʻo i luma ole afi XS e 35%, DukTape sili atu i le faaluaina jerryscript faatolu ma MuJS faafitu.

I le faaopoopo atu i le faletusi mo le faʻapipiʻiina o le afi i totonu o talosaga, o loʻo ofoina atu foʻi e le poloketi se faʻaliliuga qjs, lea e mafai ona faʻaaogaina e faʻatautaia ai le code JavaScript mai le laina faʻatonu. E le gata i lea, o loʻo avanoa le qjsc compiler, e mafai ona faʻatupuina faila e mafai ona faʻatinoina e talafeagai mo le faʻatinoina naʻo ia e le manaʻomia ai faʻalagolago i fafo.

Vaega Taua:

  • Fa'atasi ma faigofie ona tu'ufa'atasia i isi galuega. O le code e aofia ai na'o ni nai faila C e le mana'omia ni fa'alagolago i fafo mo le fa'apotopotoga. O le fa'aoga faigofie tu'ufa'atasiga e tusa ma le 190 KB;
  • E matua maualuga le faatinoga ma puupuu le taimi amata. O le pasia o le 56 afe ECMAScript su'ega o feso'ota'iga e mana'omia pe a ma le 100 sekone pe a fa'atino i luga o le 'autu tasi o le PC desktop masani. O le amataga ole taimi e alu ai i lalo ole 300 microseconds;
  • Toeitiiti atoa le lagolago mo le ES2019 faʻamatalaga ma le lagolago atoatoa mo le Faʻaopoopoga B, o loʻo faʻamatalaina vaega mo le fetaui ma talosaga i luga o le upega tafaʻilagi;
  • Fa'auma uma su'ega mai le Su'ega Su'ega ECMAScript;
  • Lagolago mo le tuufaatasia o le Javascript code i faila e mafai ona faia e aunoa ma ni faʻalagolago i fafo;
  • O se aoina lapisi e faʻavae i luga o faʻamatalaga faitau e aunoa ma le faʻamama faʻataʻamilosaga, lea na faʻatagaina ai i matou e ausia amioga faʻapitoa ma faʻaitiitia le taumafaina manatua;
  • Se seti o faʻaopoopoga mo faʻatusatusaga o le matematika ile JavaScript;
  • O se atigi mo le faʻatinoina o le code i le laina o le faʻatonuga, e lagolagoina ai le faʻamalamalamaina o le faʻailoga;
  • Faletusi masani fa'atasi ma afifi i luga o le potutusi C.

O lo'o fa'atupuina fo'i e le poloketi ni faletusi C fa'atasi e tolu o lo'o aofia i le QuickJS ma talafeagai mo le fa'aoga a le tagata lava ia:

  • libregexp - faʻatinoina vave o faʻamatalaga masani, e fetaui lelei ma le Javascript ES 2019 faʻamatalaga;
  • libunicode - o se faletusi faʻapitoa mo le galulue faʻatasi ma Unicode;
  • libbf - Fa'atinoina o fa'agaioiga fa'ato'a sa'o sa'o sa'o ma galuega fa'akomepiuta fa'atasi ma le fa'ata'amilosaga tonu.

puna: opennet.ru

Faaopoopo i ai se faamatalaga