terminal/snapshot: use stack fallback for record scratch

Use a bounded 512-byte stack fallback for complete-snapshot record
scratch. Small records avoid heap growth while larger records continue
through the heap allocator.
This commit is contained in:
Jon Parise
2026-08-23 14:12:11 -04:00
parent 7a9bca6a6e
commit ee8095d37d

View File

@@ -50,7 +50,10 @@ pub fn encode(
// Continuation errors must not emit even the snapshot envelope.
try continuation.validate(options.continuation);
var stream: record.Writer = .init(alloc, destination);
// A measured 512-byte buffer handles our smallest records on the stack
// before larger records fall back to the heap.
var stack_alloc = std.heap.stackFallback(512, alloc);
var stream: record.Writer = .init(stack_alloc.get(), destination);
defer stream.deinit();
// 1. Envelope