| @@ -1,5 +1,26 @@ | | | @@ -1,5 +1,26 @@ |
1 | QuickJS is a small and embeddable Javascript engine. It supports the | | 1 | QuickJS is a small and embeddable Javascript engine. It supports the |
2 | ES2020 specification including modules, asynchronous generators and | | 2 | ES2020 specification including modules, asynchronous generators and |
3 | proxies. It optionally supports mathematical extensions such as big | | 3 | proxies. |
4 | integers (BigInt), big floating point numbers (BigFloat) and operator | | 4 | |
| | | 5 | It optionally supports mathematical extensions such as big integers |
| | | 6 | (BigInt), big floating point numbers (BigFloat) and operator |
5 | overloading. | | 7 | overloading. |
| | | 8 | |
| | | 9 | Main Features: |
| | | 10 | * Small and easily embeddable: just a few C files, no external |
| | | 11 | dependency, 190 KiB of x86 code for a simple hello world program. |
| | | 12 | * Fast interpreter with very low startup time: runs the 56000 |
| | | 13 | tests of the ECMAScript Test Suite in about 100 seconds on a |
| | | 14 | single core of a desktop PC. The complete life cycle of a runtime |
| | | 15 | instance completes in less than 300 microseconds. |
| | | 16 | * Almost complete ES2020 support including modules, asynchronous |
| | | 17 | generators and full Annex B support (legacy web compatibility). |
| | | 18 | * Passes 100% of the ECMAScript Test Suite. |
| | | 19 | * Can compile Javascript sources to executables with no external dependency. |
| | | 20 | * Garbage collection using reference counting (to reduce memory |
| | | 21 | usage and have deterministic behavior) with cycle removal. |
| | | 22 | * Mathematical extensions: BigInt, BigFloat, operator overloading, |
| | | 23 | bigint mode, math mode. |
| | | 24 | * Command line interpreter with contextual colorization implemented |
| | | 25 | in Javascript. |
| | | 26 | * Small built-in standard library with C library wrappers. |