Grunnleggeren av QEMU og FFmpeg har offentliggjort JavaScript-motoren Micro QuickJS.

Den franske matematikeren Fabrice Bellard, som en gang grunnla prosjektene QEMU, FFmpeg, BPG, QuickJS, TinyGL og TinyCC, har publisert en ny JavaScript-motor for innebygde systemer - Micro QuickJS, som kan kompilere og kjøre JavaScript-programmer og kun bruker 10 KB RAM. Sammen med C-biblioteket tar motoren omtrent 100 KB permanent minne. Det er mulig å kompilere JavaScript til bytekode og kjøre bytekoden separat. Prosjektkoden er skrevet i C og distribueres under MIT-lisensen.

Motoren støtter et delsett av JavaScript-språket, nært beslektet med spesifikasjonen ECMAScript 5 (ES2019), men stiller strengere krav til koden og tillater ikke bruk av visse ineffektive eller feilkilder i JavaScript-konstruksjoner. For eksempel må globale variabler deklareres med nøkkelordet «var», bruken av «with» er forbudt, matriser kan ikke inneholde hull, og det er umulig å initialisere med deklarasjonen «new Number(1)», og lokal variabeltilgang fra eval er ikke mulig.

Ytelsen til Micro QuickJS er nær QuickJS-motoren, utviklet av Fabrice siden 2019. Micro QuickJS drar nytte av deler av koden fra QuickJS-motoren, men arkitekturen er mye forskjellig og designet for minimalt minneforbruk. For eksempel benytter Micro QuickJS en sporing-samler, mens QuickJS benytter referansetelling. Overheaden til søppelsamleren er bare noen bitt per tildelt minneblokk. En egen allocator brukes for minnetildeling, uavhengig av bibliotekets malloc()-funksjon.

Andre forskjeller fra QuickJS: bruker ikke stakk en virtuell maskin; annen intern representasjon av objekter; lagring av strenger i UTF-8-koding; generering av standardbiblioteket under kompilering og lagring av det i permanent minne, som kun oppretter noen få objekter i RAM; en parser som er nær QuickJS, men som ikke bruker rekursjon; sammenslåing av bytekodegenerering og optimalisering i ett enkelt pass (QuickJS har flere pass for optimalisering).

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster