host: enable serving-mode JIT (SX_SERVING_JIT=1), host code excluded
The Datalog/relations saturation is CPU-bound and JITs cleanly: host conformance 271/271 under JIT, 5.4x faster (1m43s -> 19s, same binary); live /tags 2.5s -> 0.76s. loops/host now carries the merged sx-vm-extensions kernel (the JIT engine + gate), built into the binary the container bind-mounts. - docker-compose: SX_SERVING_JIT=1 (default-OFF gate; opt-in here). - serve.sh: when JIT is on, (jit-exclude! "host/*" "dream-*" "dr/*"). The host app + Dream framework MISCOMPILE on first call in the http-listen + cek_run_with_io path (map/rest emit wrong CALL_PRIM args -> 500; the JIT->CEK fallback marks the fn failed but does NOT recover the failed call). They're IO-bound, so CEK is no slower — but the miscompile is a real kernel-JIT bug to fix upstream (see plans/HANDOFF-jit-miscompile.md), after which this exclude can be dropped. Verified live: cold pages 200 (no first-hit 500), relate picker lists candidates, relate round-trip works, /tags fast, datalog still JITs (78 dl-* compiles). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,10 @@ services:
|
||||
SX_ADMIN_USER: admin
|
||||
SX_ADMIN_PASSWORD: "sx-host-camper-van-2026"
|
||||
SX_SESSION_SECRET: "ra-host-sess-7c1f9b3e2a8d4056"
|
||||
# Serving-mode JIT: bytecode-compile hot SX (esp. the Datalog/relations path)
|
||||
# on the epoch serving channel. Validated: host conformance 271/271 under JIT,
|
||||
# 5.4x faster (1m43s -> 19s). Default-OFF gate, opt in here.
|
||||
SX_SERVING_JIT: "1"
|
||||
OCAMLRUNPARAM: "b"
|
||||
volumes:
|
||||
# SX source (hot-reload on container restart)
|
||||
|
||||
Reference in New Issue
Block a user