Avatar for the vortex-data user
vortex-data
vortex
BlogDocsChangelog

Performance History

Latest Results

Key the metadata footer cache by the readable's name `NativeReadable.name()` is already required to be stable and unique, and is what the scan path keys Java readables by, so a metadata read has an identity to cache under too. Pass it down and drop the "no key, no caching" path from `multi::open_cached`: every caller now supplies a fallback key, used when the source itself reports no URI. The name is normalized the same way `openFiles` normalizes it before registering readables, so a metadata read and a scan of the same readable share one cache entry rather than landing on two. Also pass the readable's known length, so a read that resolves against a cached footer validates it against the file size instead of trusting it blindly. Signed-off-by: "Claude" <noreply@anthropic.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wt7vVoiJrjxHyDvy4XDjsW
rk/jnimetadata
6 minutes ago
Guarantee 8-byte alignment in vx_alloc; cast instead of copy in bitpacked The bitpacked kernel copied packed words out per chunk, defending against alignment and endianness โ€” neither of which actually applies in the guest: wasm32 is always little-endian (matching the serialized format), and every buffer reaches guest memory through vx_alloc, which we control. - vx_alloc now allocates with an explicit 8-byte-aligned Layout, and the alignment is documented as part of the ABI: host uploads (frames, raw buffers, child structs) always land aligned, so kernels can view typed data in place and Arrow int64 struct fields are naturally aligned. - The bitpacked kernel views the packed buffer as &[u32] via a checked align_to (no word copies), unpacks full in-range chunks directly into the output โ€” mirroring the native decode_into fast path โ€” and uses scratch only for a sliced first chunk and a partial trailer. Patches are applied in u32 space; the output converts to bytes with a single cast + copy. Also validated the no_std-by-default path the kernels should end on: with fastlanes-rs's num-traits edge patched to default-features = false (a one-line upstream fix), the identical kernel source builds fully no_std with the SDK runtime enabled at 37 KB instead of 53 KB, and passes the whole round-trip suite (this also exercises the SDK bump allocator through the real pipeline). fsst-rs needs a mechanical no_std-ification for the same win. Documented in the design doc with measured sizes. All 11 tests pass in the detached workspace; clippy clean. Signed-off-by: Robert Kruszewski <robert@spiraldb.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TaUprJCAbZjuvv6S5MVt4s
claude/relaxed-johnson-8sll2h
6 hours ago

Latest Branches

CodSpeed Performance Gauge
+20%
Expose metadata reading and writing in vortex-jni#8963
7 minutes ago
b1b05ab
rk/jnimetadata
CodSpeed Performance Gauge
+32%
6 hours ago
b4cb8fb
claude/builders-canonical-children-9ze0t6
CodSpeed Performance Gauge
-31%
8 hours ago
afed52f
claude/chunked-canonical-via-builder-9ze0t6
ยฉ 2026 CodSpeed Technology
Home Terms Privacy Docs