# JavaScriptCore on Haiku riscv64 (QEMU TCG, -smp 4): interpreter vs baseline JIT # image=/opt/brain/workspaces/scrumai/34d00b67-488e-43fd-a238-6c75dac3f561/upstream/haiku/generated.riscv64/haiku-mmc.image generated=2026-09-22T07:27:38Z script=evidence/webkit/jit-bench.js # Each phase self-calibrates to ~1 s on the engine running it, so compare ms per unit of work, # not the raw ms. proploop: property access + float arithmetic; sort: Array.prototype.sort. engine proploop iters proploop ms ns/iter sort n sort ms us/elem interpreter (JIT=OFF build) 910716 2977 3268.9 106701 2841 26.63 JIT build, --useJIT=false 292121 1001 3426.7 38187 962 25.19 JIT build (baseline JIT) 3394720 991 291.9 37800 910 24.07 speedup proploop (interpreter ns/iter / JIT ns/iter) = 11.20x speedup sort (interpreter us/elem / JIT us/elem) = 1.11x fixed-size checksums identical on interpreter / JIT / JIT --useJIT=false: yes (proploop 2148901.350499, sort_hash 3995133556) functions the baseline JIT compiled on the guest (--reportBaselineCompileTimes): propLoop, makeArray, now sanity (print through each engine): {'int': True, 'jit': True} raw outputs: evidence/webkit/jit-bench/*.txt, report.json, serial.log