quickjs-zh/QuickJS
FreeQuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。
About quickjs-zh/QuickJS
QuickJS is a small, embeddable JavaScript engine that supports the ES2023 specification, including modules, async generators, and proxies. It optionally supports mathematical extensions such as BigInt, BigFloat, and operator overloading. Key highlights include a tiny footprint (a minimal "hello world" binary is approximately 210 KiB on x86), very fast startup (the full lifecycle of a runtime instance completes in under 300 microseconds, and the ECMAScript test suite of 77,000 tests runs in under 2 minutes on a single core), almost complete ES2023 support with partial ES2024 features, the ability to compile JavaScript source code into standalone executables with no external dependencies, a reference-counting garbage collector with cycle detection, and a built-in small standard library. It is designed for easy embedding in C/C++ applications and is ideal for resource-constrained environments.
Key Features
Pros & Cons
- Extremely small footprint and fast startup compared to other engines
- Full ES2023 support with high test262 pass rate
- No external dependencies, easy to build and integrate
- Can compile JavaScript to standalone binaries
- Efficient memory management with reference counting and cycle detection
- Open source under a permissive license (MIT-like)
- Smaller ecosystem and fewer libraries compared to V8 or SpiderMonkey
- Limited debugging and developer tooling outside of basic REPL
- Not designed for high-throughput server-side applications like Node.js
- Documentation is primarily in Chinese for this fork, may be less accessible to non-Chinese speakers