QuickJS - waa mashiin khafiifa JavaScript oo uu soo saaray aasaasaha QEMU iyo FFmpeg

JavaScript

Xisaabiye Faransiis ah Fabrice Bellard, oo aasaasay mashruucyada QEMU iyo FFmpeg oo waliba abuuray qaaciddada ugu dhaqsaha badan xisaabinta tirada Pi isla markaana soo saaray qaab muuqaal ah BPG.

Fabrice Bellard waa ugu caansan ee loo yaqaan hormoodiyaha hormarinta ee QEMU (emulator ah oo ku dayanaya qaabdhismeedyo kala duwan oo qalabka dhismaha ah) iyo Tiny C Compiler (tcc), oo ah isku duwo C aad u yar laakiin dhameystiran, oo asal ahaan loo qoray inuu ku guuleysto "International Obfuscated C Code Contest".

Hadda dhowaan la wadaagay dadweynaha nooca ugu horreeya ee shaqadiisa cusub taas oo ku jirta JavaScript waana tan matoor cusub oo la yiraahdo JavaScript QuickJS.

Ku saabsan JavaScript QuickJS

Mashiinka QuickJS JavaScript waa is haysta oo loogu talagalay in lagu daro nidaamyada kale. Koodhka mashruuca Waxay ku qoran tahay C waxaana lagu qaybiyaa liisanka MIT. Sidoo kale waxaa la heli karaa dhismo matoor ah oo lagu soo ururiyey WebAssembly iyadoo la adeegsanayo Emscripten kuna habboon ku shaqeynta daalacayaasha.

Hirgelinta JavaScript waxay taageertaa qeexida ES2019, oo ay kujiraan modules, matoorro asynchronous, iyo wakiil.

Mashiinka QuickJS JavaScript kordhinta xisaabta ikhtiyaariga ah ee loogu talagalay JavaScript waa la taageeray, sida noocyada BigInt iyo BigFloat, iyo sidoo kale rarka hawlwadeenka.

Waxqabad ahaan, QuickJS waxay si muuqata uga horumarsan tahay analogga la heli karoTusaale ahaan, imtixaanka keydka-v8, mashiinka XS wuxuu ka horreeyaa 35%, DukTape in kabadan labanlaab, JerryScript saddex jeer iyo MuJS toddobo jeer.

Maktabada ka sokow si aad mashiinka ugu dhejiso arjiga, mashruucu wuxuu kaloo bixiyaa turjubaanka qjs, taas oo loo isticmaali karo in lagu maamulo lambarka JavaScript ee ka soo baxa khadka amarka.

Sidoo kale, compiler-ka qjsc waa la heli karaa wuxuuna awood u leeyahay inuu soo saaro faylal la fulin karo oo si gooni ah loo maamuli karo iyo in kuwani aysan u baahnayn ku tiirsanaan dibadeed.

Astaamaha ugu waaweyn ee mishiinka QuickJS JavaScript qodobada soo socda ayaa istaaga:

  • Is haysta oo sahlan in lagu dhex daro mashruucyada kale. Koodhku wuxuu ka kooban yahay oo keliya faylasha C ee aan u baahnayn ku tiirsanaanta dibedda si loo dhiso. Codsi fudud oo la soo ururiyey wuxuu qaadanayaa qiyaastii 190 Kb
  • Waxqabadka aad u sarreeya iyo waqtiyada bilowga degdegga ah. Ka gudubka 56 kun ee Imtixaanada waafaqsanaanta ECMAScript waxay qaadataa ugu yaraan 100 ilbidhiqsiyo marka aad ku shaqeyneyso desktop caadi ah kernel. Bilaabidda Runtime waxay qaadataa in ka yar 300 microseconds
  • Ku dhowaad taageero buuxda oo ku saabsan qeexitaanka ES2019 iyo taageero buuxda oo ku saabsan codsiga "B", oo qeexaya qaybaha iswaafajinta barnaamijyada websaydhka duugga ah
  • Dhamee marinka dhammaan imtixaannada ECMAScript Suite Suite
  • Taageero lagu ururinayo koodhka Javascript ee faylasha la fulin karo iyadoon ku tiirsaneyn dibedda
  • Qashin ururiyaha wuxuu ku tiirsan yahay tirinta tixraaca isagoon sameynin nadiifin meerto ah, taasoo u oggolaaneysa dabeecad la saadaalin karo iyo yareynta isticmaalka xusuusta
  • Qeybo ka mid ah kordhinta loogu talagalay xisaabinta xisaabta ee luqadda JavaScript
  • Qolof loogu talagalay fulinta koodhka qaabka xariiqda amarka, kaas oo taageeraya muujinta koodhka macnaha guud
  • Isku soo koob maktabadda caadiga ah ee maktabadda C

Waxaa intaa u dheer tan, Dhinaca kale, mashruucu wuxuu kaloo horumarinayaa saddex maktabadood oo C ah dhinacyada la xiriira ee ku lug leh QuickJS oo ku habboon isticmaalka shaqsiga:

  1. freegexp: maktabad yar oo dhakhso ah oo loo yaqaan 'regex library' oo u hoggaansanta qeexitaanka JavaScript ES2019
  2. libunicode: maktabad yar oo Unicode ah oo taageerta beddelka kiiska, caadiyeynta Unicode, codsiyada qoraalka Unicode, weydiimaha guud ee Unicode, iyo dhammaan guryaha binicada Unicode
  3. libbf: Tani sidoo kale waa maktabad yar oo fulisa hawlgallada dhibcaha sabaynta ee IEEE 754 iyo shaqooyinka ka gudubka wareegga saxda ah. Waxaa loo hayaa sidii mashruuc gooni ah.

Sidee loo helaa SavaScript QuickJS?

Soo degsashada koodhka isha ee isku duwidda waxaa laga samayn karaa xiriirka soo socda. Ka dib rakibidda, Makefile ayaa la bixiyaa si loo soo ururiyo mashiinka Linux ama Mac OS / X.

Isla iskuxirka waxaad kala tashan kartaa dukumiintiyada QuickJS wixii macluumaad dheeraad ah. Waxay sidoo kale bixisaa macluumaad tilmaamaya muujinta waxqabadka QuickJS oo leh mashiinka Google ee V8 iyo isbarbardhiga u dhexeeya iyo aaladaha kale ee isla qaybta ah.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Ka mas'uul ah xogta: AB Internet Networks 2008 SL
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.