QuickJS是一个轻量且可嵌入的JavaScript引擎,它支持 ES2019规范,包括ESmodule、异步生成器以及proxies。除此之外,还支持可选的数学扩展,例如大整数(BigInt)、大浮点数(BigFloat)和运算符重载。
主要特性如下
轻量且方便嵌入:QuickJS只包含一些C语言文件,没有额外的依赖,运行一个简单的helloworld只需要190KiB的x86代码拥有启动时间极短的快速解释器:在单核的台式PC上,运行 ECMAScript测试套件的56000个测试大约在100秒内完成。一个runtime实例的完整生命周期在不到300ms内完成几乎完整的 ES2019 支持,包括ESmodule、异步生成器和完整的AnnexB支持(传统的Web兼容性)完全通过了ECMAScript测试套件的测试可将JavaScript源码编译为没有外部依赖的可执行文件基于引用计数的GC(以减少内存使用并具有确定性行为)数学扩展:BigInt、BigFloat、运算符重载、bigintmode和mathmode使用Javascript实现的具有上下文着色功能(contextualcolorization)的命令行解释器包含使用C语言库封装的轻量级内置标准库BTW,QuickJS的作者是FabriceBellard,知名开源项目 FFMPEG 和 QEMU 都出自他手。
评论