Comment by ivankra
9 hours ago
My page is about generic JS benchmarks. Just did a quick run with a sample javascript challenge I got via yt-dlp (https://raw.githubusercontent.com/ivankra/javascript-zoo/ref...):
$ time ./v8 /bench/yt-dlp.js | md5sum -
a730e32029941bf1f60f9587a6d9554f -
real 0m0.252s
user 0m0.386s
sys 0m0.074s
$ time ./quickjs /bench/yt-dlp.js | md5sum -
a730e32029941bf1f60f9587a6d9554f -
real 0m2.280s
user 0m2.507s
sys 0m0.031s
So about 10x slower for the current flavor of YouTube challenges: 0.2s -> 2.2s.
A few more results on same input:
spidermonkey 0.334s
v8_jitless 1.096s => about the limit for JIT-less interpreters like quickjs
graaljs 2.396s
escargot 3.344s
libjs 4.501s
brimstone 6.328s
modernc-quickjs 12.767s (pure Go port of quickjs)
fastschema-qjs 1m22.801s (Wasm port of quickjs)
boa 1m28.070s
quickjs-ng 2m49.202s
Thanks for the benchmark!
I tried it on my slower laptop. I get:
A 5x slowdown for an interpreted C JS engine is pretty good I think, compared to all the time, code and effort put into v8 over the years!