Themeluesi i QEMU dhe FFmpeg ka publikuar motorin Micro QuickJS JavaScript.

Matematikani francez Fabrice Bellard, i cili themeloi projektet QEMU, FFmpeg, BPG, QuickJS, TinyGL dhe TinyCC, ka publikuar një motor të ri JavaScript për sistemet e ngulitura - Micro QuickJS. Ai mund të kompilojë dhe ekzekutojë programe JavaScript duke konsumuar vetëm 10 KB RAM. Së bashku me bibliotekën C, motori zë afërsisht 100 KB memorie. Ai mund të kompilojë JavaScript në bajtkod dhe ta ekzekutojë bajtkodin veçmas. Kodi i projektit është shkruar në C dhe shpërndahet sipas licencës MIT.

Motori mbështet një nëngrup të gjuhës JavaScript që është afër specifikimit ECMAScript 5 (ES2019), por imponon kërkesa më të rrepta për kodin dhe ndalon përdorimin e disa konstruksioneve joefikase ose të prirura për gabime të JavaScript. Për shembull, variablat globale duhet të deklarohen duke përdorur fjalën kyçe "var", përdorimi i "with" është i ndaluar, vargjet nuk mund të jenë bosh, inicializimi nuk është i mundur me deklarime të formës "new Number(1)" dhe variablat lokale nuk mund të aksesohen nga eval.

Performanca e Micro QuickJS është e ngjashme me atë të motorit QuickJS, të zhvilluar nga Fabrice që nga viti 2019. Micro QuickJS përdor disi të njëjtin kod si motori QuickJS, por arkitektura e tij është dukshëm e ndryshme dhe e projektuar për konsum minimal të memories. Për shembull, Micro QuickJS përdor një mbledhës të mbeturinave gjurmuese, ndërsa QuickJS përdor numërimin e referencave. Shpenzimet e mbledhësit të mbeturinave janë vetëm disa bit për bllok memorie të alokuar. Alokimi i memories përdor ndarësin e vet, të pavarur nga funksioni i bibliotekës malloc().

Dallime të tjera nga QuickJS: nuk përdor një pirg makinë virtuale; një përfaqësim i brendshëm i ndryshëm i objekteve; ruajtja e vargjeve në kodimin UTF-8; gjenerimi i bibliotekës standarde gjatë kompilimit dhe ruajtja e saj në memorie të përhershme me krijimin e vetëm disa objekteve në RAM; një analizues i ngjashëm me QuickJS, por që nuk përdor rekursion; kombinimi i gjenerimit të bytekodit dhe optimizimit në një kalim të vetëm (QuickJS ka disa kalime për optimizim).

Burimi: opennet.ru

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster