Skip to content

Slice (Nexus-JS) v0.10.6

Choose a tag to compare

@siktec-lab siktec-lab released this 09 Nov 23:11
· 29 commits to main since this release
c6b3e77

Slice (Nexus-JS) v0.10.6

Highlights

  • JSON Serialization & Parsing Fast-Path (#37):
    • Added a direct Vec<u8> + ryu_js + shape property-table (Shape::with_property_keys) fast-path for JSON.stringify and a zero-copy Latin1 borrow path for JSON.parse in vendor/boa_engine/src/builtins/json/mod.rs.
    • Added sub-millisecond monotonic performance.now() (__slice_perf_now).
    • Measured speedup: JSON.stringify x 10,000 improved 12.48x (60.0 ms -> 4.81 ms), and JSON.parse(JSON.stringify(obj)) x 10,000 improved 2.92x (94.0 ms -> 32.16 ms).
  • HTTP Dispatch & slice serve Fast-Path (#38):
    • Reused a persistent SliceIsolate per worker thread across TCP connections, cached the resolved entrypoint handler across requests, and added single-pass __slice_http_url(), lazy LiveReqProto getters, and LazyResProto for zero-header-allocation Response.json(data) / new Response("ok").
    • Measured speedup: Single-socket Keep-Alive throughput increased +28.6% (11,917 -> 15,329 req/s) and cold-start improved to 0.96 us min (1.05 us P50).
  • Source Map & Error.stack Resolution (#33):
    • Kept the fused runtime prelude on a single line so SLICEBC\x01 pre-compiled bytecode line numbers align 1:1 with //@sm: source map markers, and extended source map resolution to cover ES6 class methods, dynamic error prefixes, and uncaught exception output.
  • node:fs VFS Additions, node:readline, and Core Compatibility Shims (#28, #31):
    • Added cpSync/cp, readlinkSync/readlink, truncateSync/truncate, utimesSync/utimes, lutimesSync/lutimes, watch/watchFile/unwatchFile (and fs.promises.* equivalents) backed by the in-memory CoW VFS.
    • Added node:readline (createInterface, async iterator), node:readline/promises, and compatibility shims for node:v8, node:inspector, node:cluster, node:http2, and node:wasi.
  • CAS Archive Provenance, Dependency Diagnostics & Engine Docs (#34, #35, #36):
    • Added lockfile_blake3 and resolved package.json dependency versions to CasIndexHeader and slice inspect.
    • Added a missing-node_modules diagnostic hint in the module resolver and documented boa_engine patches in vendor/boa_engine/SLICE_PATCH.md.