MCPcopy Create free account
hub / github.com/QodeXcli/QodeX / describeCacheReuse

Function describeCacheReuse

src/llm/cache-layout.ts:75–87  ·  view source on GitHub ↗
(prev: Message[] | null, next: Message[])

Source from the content-addressed store, hash-verified

73
74/** Compare this turn's prompt against the previous turn's to estimate KV-cache reuse. */
75export function describeCacheReuse(prev: Message[] | null, next: Message[]): CacheReuse {
76 if (!prev || prev.length === 0) {
77 return { reusedMessages: 0, totalMessages: next.length, changedAt: 0, reuseRatio: 0, reusedChars: 0 };
78 }
79 const reused = commonPrefixLength(prev, next);
80 return {
81 reusedMessages: reused,
82 totalMessages: next.length,
83 changedAt: reused < next.length ? reused : -1,
84 reuseRatio: next.length === 0 ? 0 : reused / next.length,
85 reusedChars: prefixChars(next, reused),
86 };
87}
88
89/** Output tokens per second. Returns 0 for non-positive latency to avoid Infinity. */
90export function computeThroughput(outputTokens: number, latencyMs: number): number {

Callers 2

runMethod · 0.85

Calls 2

commonPrefixLengthFunction · 0.85
prefixCharsFunction · 0.85

Tested by

no test coverage detected