Performance

This page documents how we measure performance and how to interpret results. Numbers below are from a high-load workflow with ~1,700 pods and active debugging operations.

Methodology (Read Before Comparing)

Because tools behave differently between idle and incident load, evaluate both states before making adoption decisions.

Memory Profile (Incident-Load Scenario)

ToolObserved memoryNotes
Krust~160 MBStable during heavy table + logs workflow
k9s~750 MB in this specific high-load testCan be much lower in simpler terminal-only sessions
Aptakube~500 MB+Varies by cluster and usage pattern
Lens~1,250 MBHigher baseline plus workload overhead

Important: k9s is often lightweight in basic usage. The figure above reflects one heavy operational scenario, not every k9s session.

Startup

Cold start completes in under 1 second. Lens typically takes 5–30 seconds to become usable.

Rendering

Krust handles 1,700+ pods at a smooth 60 fps. The pod list uses NSTableView, which renders only the ~30 visible rows — O(visible) rather than O(total). Full table recreation completes in ~30 ms.

Log Performance

Logs are stored in a 100K line ring buffer in Rust. Full-text search completes in under 15 ms with no UI thread blocking.

Why It's Fast

How to Reproduce Internally