Skip to content

AugustToko/webf_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
bellard/quickjs (2788d71) openwebf/quickjs (latest)
Richards 1188 1457
Crypto 1443 1527
RayTrace 744 1995
NavierStokes 2775 2979
DeltaBlue 1100 1595
Total score 1312 1840 (+40.2%)
File Size(KB) 1.3M 1.4M

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%