Skip to content

openwebf/quickjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quickjs

linux ci

Optimized quickjs mantained by OpenWebF team.

Optimizations

In addition to the relevant features and optimizations in the TODO file, the more important optimizations are:

  • Column number
  • Basic Debugger API
  • Poly IC
    • Self Poly IC
    • Prototype Poly IC
  • Replace malloc To mimalloc
  • Improve The Performance Of GC

In our plan, we first complete the above optimizations and then gradually add the remaining parts.

How To Build

  1. Clone this repo and its submodules by doing git clone --recursive <THIS_REPO_URL>
  2. mkdir build
  3. cd build
  4. cmake ..
  5. make -j4

you can find libquickjs.a in lib folder and qjs / qjsc / run-test262 in the ./bin folder (from the repo root).

How To Run Test262

> bash scripts/test.sh

It will output result like:

Result: 573/75124 errors, 1388 excluded, 7844 skipped, 573 new

Benchmark

  • Apple M1 Pro
  • macOS Monterey 12.2.1
  • Clang 13.0.0 arm64-apple-darwin21.3.0
openwebf/quickjs (32acbde) bellard/quickjs (3ab1c2b) Improvement(%)
DeltaBlue 1382 1021 +35.35
RayTrace 1935 688 +181.15
RegExp 353 255 +38.43
NavierStokes 2756 2658 +3.68
PdfJS 4934 3692 +33.64
Gameboy 9948 9057 +9.83
Box2D 5264 4089 +28.77
Typescript 19108 13787 +38.59
Total Score 3262 2339 +39.46
File Size 1.5M 1.3M -15.38

About

Optimized quickjs mantained by OpenWebF team.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.2%
  • JavaScript 6.6%
  • Other 0.2%