Skip to content

shell: update QuickJS JIT to 0.12.11 - #3338

Merged
huacnlee merged 1 commit into
mainfrom
shell/quickjs-jit-0.12.11
Sep 30, 2026
Merged

huacnlee merged 1 commit into
mainfrom
shell/quickjs-jit-0.12.11

Conversation

@huacnlee

Copy link
Copy Markdown
Member

Description

  • Update quickjs-jit, quickjs-jit-runtime, and the local rquickjs-compat facade from 0.12.9 to the v0.12.11 release commit (96593cd).
  • Keep quickjs-jit-stdlib on its existing compatibility revision, as in the 0.12.9 update (shell: update QuickJS JIT to 0.12.9 #3116); it is not part of the release tag.
  • Refresh the lockfile. Only the five quickjs-jit packages change version and source.

0.12.10 is skipped deliberately: it regressed gpui-shell renders. 0.12.11 (longbridge/quickjs-jit#33) fixes that regression.

Performance

tests::benchmark::emit_one_jit_acceptance_sample, i7-13700KF, release build. Each fresh process renders 64 warmup frames, then the mean of 200 measured renders is reported in µs. Ten retained process pairs per configuration, alternating order. "1 core" pins the render thread and the JIT worker to one CPU; "2 cores" uses two physical cores. Measured on the quickjs-jit runtime code that shipped as 0.12.11 (8fa2a48; later commits only change tests and sanitizer builds).

Workload Cores JIT 0.12.9 JIT 0.12.10 JIT 0.12.11 vs 0.12.9
Compute-heavy JavaScript 1 15.1 µs 127.1 µs 10.3 µs 1.5x faster
Compute-heavy JavaScript 2 16.3 µs 62.4 µs 10.2 µs 1.6x faster
Mixed market + UI 1 178.5 µs 363.3 µs 92.7 µs 1.9x faster
Mixed market + UI 2 179.2 µs 180.1 µs 92.4 µs 1.9x faster
UI-builder dominated 1 812.0 µs 981.4 µs 803.7 µs 1.03x faster
UI-builder dominated 2 806.9 µs 987.9 µs 805.5 µs tied (1.1% slower to 0.4% faster)

Checksums agree in every process; there are no native fallbacks or deopts. The raw data is in quickjs-jit benchmarks/results/shell-tiering-8fa2a48-gpui-shell-x86_64.json.

How to Test

  • cargo fmt -p gpui-shell -- --check
  • cargo check -p gpui-shell --all-targets
  • cargo test -p gpui-shell --release (714 + 8 passed)
  • git diff --check

Checklist

  • I have read the CONTRIBUTING document and followed the guidelines.
  • Reviewed the changes in this PR and confirmed AI generated code (If any) is accurate.
  • Passed cargo run for story tests related to the changes.
  • Tested macOS, Windows and Linux platforms performance (if the change is platform-specific)

🤖 Generated with Claude Code

@huacnlee
huacnlee merged commit eb1316f into main Sep 30, 2026
11 checks passed
@huacnlee
huacnlee deleted the shell/quickjs-jit-0.12.11 branch September 30, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant