From 2551b757fbf570a040221cdc01e5d61e5b1f6fec Mon Sep 17 00:00:00 2001 From: imccyu Date: Thu, 6 Aug 2026 02:16:39 +0800 Subject: [PATCH] perf(jsonl): shorten cooperative decode slices --- packages/core/session/src/index.ts | 2 +- .../session-persistence/session-persistence-jsonl/src/index.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/core/session/src/index.ts b/packages/core/session/src/index.ts index 1e398effef..6875a29f6f 100644 --- a/packages/core/session/src/index.ts +++ b/packages/core/session/src/index.ts @@ -203,7 +203,7 @@ export function snapshotSessionEvent(event: T): T { return adoptSessionEvent(structuredClone(event)) } -/** Deep-freeze one acyclic object tree materialized by JSON parsing. */ +/** Deep-freeze one acyclic object tree materialized by JSON parsing. input is stackoverflow-safe */ function freezeRestoredObject(value: T): T { Object.freeze(value) for (const key in value) { diff --git a/packages/session-persistence/session-persistence-jsonl/src/index.ts b/packages/session-persistence/session-persistence-jsonl/src/index.ts index 982af6daab..bb6aacfc67 100644 --- a/packages/session-persistence/session-persistence-jsonl/src/index.ts +++ b/packages/session-persistence/session-persistence-jsonl/src/index.ts @@ -34,7 +34,8 @@ export type { JsonlCompression } from './format.ts' const DEFAULT_PACK_CHUNKS = true const DEFAULT_COMPRESSION: JsonlCompression = 'zstd' -const ZSTD_DECODE_YIELD_INTERVAL_MS = 1000 +/** internal yield interval. */ +const ZSTD_DECODE_YIELD_INTERVAL_MS = 500 /** Assert that the independently decodable first frame contains only the header record. */ function assertZstdHeaderFrame(plaintext: Buffer): void {