Files
oh-my-pi/packages/coding-agent/src
oldschoola d9bc5ca405 perf: cut edit-pipeline and session-branch hot-path complexity
Four non-overlapping algorithmic complexity reductions in hot paths.
(Streaming-reveal throughput is owned separately by #3843.)

1. session/session-manager.ts pathTo: O(n^2) branch.unshift() leaf->root
   walk -> O(n) push + single reverse(). Hot path (5-10x/turn via getBranch).

2. edit/streaming.ts extractAddedLines: O(n^2) progressive string
   concat per streaming tick -> array push + single join.

3. edit/modes/patch.ts: collapseConsecutiveSharedLines O(n*m) filter
   + includes -> Set (O(n+m)); collapseRepeatedBlocks O(n^3) with
   per-iteration slice allocations + every() -> index arithmetic with
   a single shared.has() guard. Semantics preserved.

Honorable: tui/src/utils.ts replaceTabs reallocated
" ".repeat(DEFAULT_TAB_WIDTH) every call -> hoisted TAB_SPACES const.
2026-06-29 21:23:42 -07:00
..
2026-06-08 15:47:57 -03:00