quickjs超小js引擎

易语言 2020-05-20 13:50:24

QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块
它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。
轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个x86下的简单的“hello world”程序只要180 KiB。
具有极低启动时间的快速解释器: 在一台单核的台式PC上,大约在100秒内运行ECMAScript 测试套件1 56000次。运行时实例的完整生命周期在不到300微秒的时间内完成。
几乎完整实现ES2019支持,包括: 模块,异步生成器和和完整Annex B支持 (传统的Web兼容性)。许多ES2020中带来的特性也依然会被支持。
通过100%的ECMAScript Test Suite测试。
虽然不如v8的速度,但是对于我们玩js逆向的够用,主要是占用内存极低,我测试10000次rsa 占用内存2.9m 这还是包括了易语言占用的内存。
封装的心路历程,本身这个库作者没有开windows 的集成环境,那就自己集成了一下vstudio 的环境,然后封装了一下。