🟡 Per-cell clear loop in minibuffer render may be slow for wide terminals #16

Open xenolandscapes.com
Open opened by xenolandscapes.com

Summary #

The new inline minibuffer render method clears the region with a per-cell loop over width*height, which could be slow on large terminals.

The Problem #

In src/cursed/minibuffer.lua lines ~60-70, the view.render method iterates over all rows and columns to clear the region using individual term:set_cell calls. This is O(w*h) and could cause rendering delays on very wide or tall terminals, especially since the minibuffer area is small but the full width is iterated.

Impact #

  • category: performance
  • description: per-cell clear loop in minibuffer render is O(w*h); replace with row-level clears

Replace the per-cell loop with a single clear call using term:clear(fg, bg) or term:print(x, y, string.rep(' ', w), fg, bg) per row, which are more efficient.


Commit range: c022da8..c022da8
Code Review: CR-2026-07-27-11

Sign up or Sign in to add to the discussion.