Mothehi oa QEMU le FFmpeg o phatlalalitse enjene ea QuickJS JavaScript

Setsebi sa lipalo sa Lefora Fabrice Bellard, ea thehileng merero ea QEMU le FFmpeg, le eena o thehile foromo e potlakileng ea ho bala palo ea Pi le ho nts'etsapele sebopeho sa setšoantšo. EA-BPG, e phatlalalitse tokollo ea pele ea enjine e ncha ea JavaScript QuickJS. Enjene e kopane 'me e etselitsoe ho kopanngoa le litsamaiso tse ling. Khoutu ea projeke e ngotsoe ka C mme e ajoa tlasa laesense ea MIT. Mohaho oa enjene o boetse oa fumaneha, o hlophisitsoe ho WebAssembly o sebelisa Emscripten mme o loketse ho etsoa ho libatli.

Phethahatso ea JavaScript litšehetso Tlhaloso ea ES2019, ho kenyelletsa le li-module, lijenereithara tsa asynchronous le li-proxies. Lipalo tse sa tloaelehang li tšehetsoa ka boikhethelo katoloso bakeng sa JavaScript, joalo ka mefuta ea BigInt le BigFloat, hammoho le ho jarisa opareitara. Ts'ebetso ea QuickJS e bohlokoa e phahametseng li-analogue tse fumanehang, mohlala, tlhahlobong
bench-v8 e ka pele ho enjene XS ka 35%, DukTape ho feta habeli jerryscript makhetlo a mararo le MuJS makhetlo a supileng.

Ntle le laeborari ea ho kenya enjene lits'ebetsong, morero o boetse o fana ka mofetoleli oa qjs, o ka sebelisoang ho tsamaisa khoutu ea JavaScript ho tsoa molaong oa taelo. Ho feta moo, moqapi oa qjsc oa fumaneha, o khona ho hlahisa lifaele tse ka sebelisoang tse loketseng ts'ebetso e ikemetseng e sa hlokeng ho itšetleha ka kantle.

Likarolo tsa bohlokoa:

  • E kopane ebile e bonolo ho e kenyelletsa mererong e meng. Khoutu e kenyelletsa lifaele tse 'maloa feela tsa C tse sa hlokeng ho itšetleha ka kantle bakeng sa kopano. Kopo e bonolo ka ho fetisisa e hlophisitsoeng e nka hoo e ka bang 190 KB;
  • Tshebetso e phahameng haholo le nako e khutšoanyane ea ho qala. Ho feta liteko tse likete tse 56 tsa ECMAScript ho nka metsotsoana e 100 ha ho etsoa motheong o le mong oa komporo e tloaelehileng ea komporo. Ho qala ha nako ea ho sebetsa ho nka li-microseconds tse ka tlase ho 300;
  • Hoo e batlang e le ts'ehetso e felletseng bakeng sa litlhaloso tsa ES2019 le tšehetso e felletseng bakeng sa Sehlomathiso sa B, se hlalosang likarolo tsa ho lumellana le lits'ebetso tsa webo tsa lefa;
  • Ho feta ka botlalo liteko tsohle tse tsoang ho ECMAScript Test Suite;
  • Ts'ehetso ea ho bokella khoutu ea Javascript ho lifaele tse sebetsang ntle le ho its'etleha ka ntle;
  • Moqokeleli oa lithōle o ipapisitseng le ho bala litšupiso ntle le ho hloekisa cyclic, e leng se ileng sa re lumella ho fihlela boits'oaro bo lebelloang le ho fokotsa ts'ebeliso ea mohopolo;
  • Sehlopha sa likeketso tsa lipalo tsa lipalo ho JavaScript;
  • Khetla ea ho phethahatsa khoutu ka mokhoa oa taelo ea taelo, e tšehetsang ho totobatsa khoutu ea maemo;
  • Laeborari e tloaelehileng e kopaneng e nang le li-wrappers holim'a laeborari ea C.

Morero o boetse o nts'etsapele lilaeborari tse tharo tse tsamaeang le C tse amehang ho QuickJS mme li loketse tšebeliso ea motho ka mong:

  • libregexp - ts'ebetsong e potlakileng ea lipolelo tse tloaelehileng, tse lumellanang ka botlalo le tlhaloso ea Javascript ES 2019;
  • libunicode - laebrari e kopanetsoeng ea ho sebetsa le Unicode;
  • libbf - Ho kenya ts'ebetsong ea ts'ebetso ea lintlha tse phaphametseng ka nepo le mesebetsi e kaholimo ho naha ka ho pota-pota hantle.

Source: opennet.ru

Eketsa ka tlhaloso