MCPcopy Create free account
hub / github.com/Noumena-Network/code / recordOptimizerStats

Function recordOptimizerStats

src/ink/optimizerStats.ts:52–87  ·  view source on GitHub ↗
(stats: {
  inputPatchCount: number
  inputPatchTypeCounts: PatchTypeCounts
  outputPatchCount: number
  stdoutMergeCount: number
  noopCursorMoveDropCount: number
  cursorMoveMergeCount: number
  styleStrMergeCount: number
  cursorVisibilityCancelCount: number
})

Source from the content-addressed store, hash-verified

50}
51
52export function recordOptimizerStats(stats: {
53 inputPatchCount: number
54 inputPatchTypeCounts: PatchTypeCounts
55 outputPatchCount: number
56 stdoutMergeCount: number
57 noopCursorMoveDropCount: number
58 cursorMoveMergeCount: number
59 styleStrMergeCount: number
60 cursorVisibilityCancelCount: number
61}): void {
62 optimizerStats.optimizeCalls += 1
63 optimizerStats.totalInputPatches += stats.inputPatchCount
64 optimizerStats.maxInputPatchCount = Math.max(
65 optimizerStats.maxInputPatchCount,
66 stats.inputPatchCount,
67 )
68 optimizerStats.lastInputPatchCount = stats.inputPatchCount
69 optimizerStats.totalOutputPatches += stats.outputPatchCount
70 optimizerStats.maxOutputPatchCount = Math.max(
71 optimizerStats.maxOutputPatchCount,
72 stats.outputPatchCount,
73 )
74 optimizerStats.lastOutputPatchCount = stats.outputPatchCount
75 optimizerStats.stdoutMergeCount += stats.stdoutMergeCount
76 optimizerStats.noopCursorMoveDropCount += stats.noopCursorMoveDropCount
77 optimizerStats.cursorMoveMergeCount += stats.cursorMoveMergeCount
78 optimizerStats.styleStrMergeCount += stats.styleStrMergeCount
79 optimizerStats.cursorVisibilityCancelCount +=
80 stats.cursorVisibilityCancelCount
81
82 for (const key of Object.keys(
83 optimizerStats.inputPatchTypeCounts,
84 ) as Array<keyof PatchTypeCounts>) {
85 optimizerStats.inputPatchTypeCounts[key] += stats.inputPatchTypeCounts[key]
86 }
87}
88
89export function getOptimizerStatsSnapshot(): OptimizerStatsSnapshot {
90 return {

Callers 1

optimizeFunction · 0.85

Calls 2

maxMethod · 0.80
keysMethod · 0.80

Tested by

no test coverage detected