perf: add fast-path comparison in MultiResponseMessages (#22100)

Same optimization as ResponseMessage: add O(1) fast-path check on content and done fields before falling back to full JSON.stringify comparison. Avoids expensive serialization when only content changes during streaming.
This commit is contained in:
Classic298
2026-03-01 19:44:59 +01:00
committed by GitHub
parent c436e0366c
commit 1b89bee098

View File

@@ -62,8 +62,13 @@
let message = structuredClone(history.messages[messageId]);
$: if (history.messages) {
if (JSON.stringify(message) !== JSON.stringify(history.messages[messageId])) {
message = structuredClone(history.messages[messageId]);
const source = history.messages[messageId];
if (source) {
if (message.content !== source.content || message.done !== source.done) {
message = structuredClone(source);
} else if (JSON.stringify(message) !== JSON.stringify(source)) {
message = structuredClone(source);
}
}
}