Termy v0.2.18
Performance and resource usage
Termy v0.2.18 is a focused performance prerelease that reduces CPU work, retained memory, render-cache overhead, and redundant engine wakeups.
Rendering and memory
- Replaced inline shaped-line cache values with pointer-sized shared handles. Empty cache slots shrink from 2,984 bytes to 8 bytes while preserving row-cache reuse.
- Release render-cache allocations for inactive tabs, hidden workspaces, and zoom snapshots so background terminals do not retain unnecessary shaped lines, draw operations, and color-cache capacity.
- Avoid render timing instrumentation unless performance metrics are enabled.
- Lazily initialize process metrics and clipboard reads so hidden diagnostics and unrelated terminal events do not pay for them.
CPU and engine work
- Coalesce repeated PTY wakeups into one host signal until the queued event is drained, while preserving correct wakeups across hidden and visible transitions.
- Transfer owned keyboard, paste, and mouse buffers directly into the native PTY path instead of copying them again.
- Keep native terminal wakeup interest synchronized when switching tabs and workspaces.
- Use GPUI's platform application entry point and remove the previous macOS thermal-observer workaround.
Performance diagnostics
- Clarified that callback intervals measure idle/activity cadence, not frame latency. A roughly 500 ms callback interval can be healthy while the terminal is idle.
- Added separate CPU-side view-build p50/p95/p99 measurements.
- Relabeled memory reporting as process RSS so it is not confused with total GPU memory.
- Tightened benchmark reporting for idle wakeups, cursor blinking, callback cadence, and displayed frames.
Measured results
Controlled local before/after benchmarks showed:
- 7.3% lower physical memory in a dense block-grid workload.
- 29.5% lower resident malloc memory in that workload.
- About 5.8% lower CPU usage during steady scrolling.
- About 6.2 MiB lower peak process memory during steady scrolling.
- Effectively unchanged frame throughput.
- Three repeated wakeup events collapse to one host wake signal until drained.
Validation
- Full workspace test suite passed across all targets.
- Strict workspace Clippy passed with warnings denied.
- Release build and Intel macOS target checks passed.
- Dependency policy, generated documentation, repository boundaries, formatting, and diff checks passed.
- Both
termyandtermy_cliresolve and compile as version0.2.18.