termy
← all releases

Termy v0.2.17

Performance improvements

This pre-release focuses on reducing allocation, locking, scanning, and idle work across Termy's terminal core and desktop application.

Core runtime

  • Added a borrowed fast path for ordinary PTY data in the OSC interceptor, avoiding copies and byte-by-byte parser work when no OSC sequence is present.
  • Made empty terminal event drains and no-damage frame snapshots allocation-free.
  • Reduced the native event polling scratch capacity from 1024 events to 8, cutting per-pane retained memory.
  • Reworked full and partial frame snapshots to build their final cell buffers in one pass.
  • Changed OSC 8 hyperlink hit-testing from collecting the visible grid to scanning only the requested row.
  • Removed redundant string allocations when building searchable terminal lines.
  • Preserved wakeup coalescing semantics while making the empty-drain fast path cheaper.

Desktop application

  • Added a terminal layout and resize signature so unchanged renders skip repeated geometry walks, terminal locks, and resize calls.
  • Deferred pane ID and active-pane string cloning until a terminal actually yields events.
  • Cached alternate-screen state instead of taking an additional terminal lock during rendering.
  • Removed render timing calls from normal sessions unless render metrics are enabled.
  • Disabled plain wakeup signals for stashed workspace panes, reducing background workspace wake storms while preserving metadata, exit, and damage handling.
  • Avoided temporary native-tab allocations during terminal size synchronization.

Validation

  • 180 termy_core tests passed.
  • 628 desktop application tests passed.
  • FFI and benchmark-tool test suites passed.
  • Clippy passed for all targets with warnings denied.
  • Formatting, repository boundary checks, and diff checks passed.
  • The steady-scroll benchmark gate passed with unchanged 8.33 ms p50/p95 frame times and zero hitches. The benchmark harness remains noisy, so this release does not claim a synthetic percentage speedup.