Onye guzobere QEMU na FFmpeg na-ebipụta ngwa ngwa JavaScript QuickJS

Ọka mmụta mgbakọ na mwepụ French Fabrice Bellard, onye tọrọ ntọala QEMU na ọrụ FFmpeg, mepụtakwara usoro kachasị ọsọ maka ịgbakọ ọnụ ọgụgụ Pi wee mepụta usoro onyonyo. GDP, bipụtara mwepụta mbụ nke injin Javascript ọhụrụ QuickJS. Igwe ahụ bụ kọmpat ma mee ya maka ntinye n'ime usoro ndị ọzọ. Edere koodu ọrụ ahụ na C ma kesaa ya n'okpuru ikikere MIT. Nrụpụta nke injin ahụ dịkwa, chịkọtara n'ime WebAssembly site na iji Emscripten ma dabara maka ogbugbu na ihe nchọgharị.

Mmejuputa JavaScript na-akwado Nkọwapụta ES2019, gụnyere modul, ndị na-emepụta asynchronous na proxies. A na-akwado mgbakọ na mwepụ na-abụghị ọkọlọtọ nditat maka Javascript, dị ka ụdị BigInt na BigFloat, yana onye ọrụ bufee ibu. Ọrụ QuickJS dị ịrịba ama ka nke analogues dị, dịka ọmụmaatụ, na ule
bench-v8 dị n'ihu injin ahụ XS na 35%, DukTape karịa okpukpu abụọ jerryscript ugboro atọ na MuJS ugboro asaa.

Na mgbakwunye na ọbá akwụkwọ maka itinye engine n'ime ngwa, ọrụ ahụ na-enyekwa onye ntụgharị qjs, nke enwere ike iji mee koodu Javascript site na ahịrị iwu. Ọzọkwa, qjsc compiler dị, nke nwere ike iwepụta faịlụ ndị nwere ike ime ka ọ dị mma maka igbu naanị ya nke na-achọghị ịdabere na mpụga.

Key Atụmatụ:

  • Kọmpat ma dị mfe itinye n'ime ọrụ ndị ọzọ. Koodu ahụ gụnyere naanị faịlụ C ole na ole na-achọghị ndabere mpụga maka mgbakọ. Ngwa chịkọtara kacha dị mfe na-ewe ihe dịka 190 KB;
  • Ọrụ dị oke elu yana oge mmalite dị mkpụmkpụ. Ịgafe 56 puku ECMAScript ndakọrịta ule na-ewe ihe dị ka 100 sekọnd mgbe e gburu ya na otu isi nke PC desktọpụ oge niile. Mbido oge ojiri na-ewe ihe na-erughị 300 microsekọnd;
  • Ihe fọrọ nke nta ka ọ bụrụ nkwado zuru oke maka nkọwapụta ES2019 yana nkwado zuru oke maka Ihe Okike B, nke na-akọwapụta akụrụngwa maka ndakọrịta na ngwa webụ ihe nketa;
  • Ngafe ule niile sitere na ECMAScript Test Suite;
  • Nkwado maka ịchịkọta koodu Javascript n'ime faịlụ ndị a na-arụ ọrụ na-enweghị ndabere nke mpụga;
  • Onye na-anakọta ihe mkpofu na-adabere na ọnụ ọgụgụ ntụaka na-enweghị ihicha cyclic, nke nyere anyị ohere imezu omume amụma ma belata oriri ebe nchekwa;
  • Otu ndọtị maka mgbakọ mgbakọ na mwepụ na Javascript;
  • Shei maka ime koodu n'ụdị ahịrị iwu, na-akwado koodu okirikiri;
  • Ọbá akwụkwọ ọkọlọtọ kọmpat nwere ihe mkpuchi n'elu ọba akwụkwọ C.

Ihe oru ngo a na-emepekwa ọba akwụkwọ C atọ na-eso ya na QuickJS ma dabara maka ojiji onye ọ bụla:

  • libregexp - mmejuputa ngwa ngwa nke okwu oge niile, dakọtara na nkọwapụta Javascript ES 2019;
  • libunicode - ọbá akwụkwọ kọmpat maka ịrụ ọrụ na Unicode;
  • libbf - Mmejuputa atumatu arụrụ arụ n'ụkwụ na-ese n'elu mmiri na ọrụ transcendental yana ezigbo okirikiri.

isi: opennet.ru

Tinye a comment