Performance Benchmarks & Methodology

px0 is engineered for extreme responsiveness and minimal memory usage. While conventional IDEs allocate over 1 GB of RAM and run 15+ background processes, px0 operates as a single static Go binary utilizing ~20 MB of resident memory.

Benchmark Corpus

Performance is evaluated across seven open-source repositories spanning two orders of magnitude in size:

Repository Source Size Files Indexed Character / Ecosystem
flask 3 MB 235 Microframework: tests sub-millisecond instant path
redis 26 MB 1,855 Systems C codebase with monolithic source files
react 63 MB 7,178 Deep directory trees and nested .gitignore files
django 74 MB 7,014 Large Python web framework with sprawling modules
kubernetes 370 MB 25,926 Large enterprise Go monorepo with vendored code
TypeScript 414 MB 66,533 Massive generated test trees and large source files
linux 1,809 MB 95,710 Extreme scale: ~95,000 files and 1.8 GB source text

Benchmark Results (px0 Standalone)

Tested on Linux x86_64 with language servers disabled (-no-lsp):

Repository Files Index Time Fuzzy Search Full-Tree Regex Scan Resident RAM (RSS)
flask 235 1 ms 0.8 ms 2.3 ms 16 MB
redis 1,855 13 ms 1.0 ms 18.2 ms 17 MB
django 7,014 39 ms 1.3 ms 26.8 ms 20 MB
react 7,178 52 ms 2.7 ms 32.2 ms 21 MB
kubernetes 25,926 150 ms 13.5 ms 84.6 ms 30 MB
TypeScript 66,533 566 ms 6.2 ms 150.3 ms 69 MB
linux 95,710 370 ms 6.0 ms 451.8 ms 55 MB

Head-to-Head: px0 vs. VS Code Process Model

Measured during live active workspace inspection:

Parameter px0 VS Code (Server/Remote) Comparison
Base Memory (RSS) ~20 MB 1,166 - 1,440 MB px0 is ~70x lighter
Cold Startup Time < 1 ms 3 - 8 seconds Near-instant startup
Process Count 1 single binary 15+ Node/Electron processes Zero process sprawl
Active Startup CPU Spike < 1% 35% - 50% Machines stay quiet
Workspace Indexing 0 - 370 ms 4 - 15 seconds Background churn eliminated
Idle Memory Reclamation Automatic (15s) Never released OS RAM returned promptly

Reproducing the Benchmarks

All benchmark figures can be measured directly on your own machine using the reproducible benchmark script in the repository:

# 1. Fetch benchmark corpus (shallow clones of 7 repositories)
./benchmark.sh --clone

# 2. Run the complete benchmark suite
./benchmark.sh

# 3. Compare px0 directly against VS Code process tree on your current workspace
./benchmark.sh --vscode .

# 4. Profile memory lifecycle across index, search, and idle recovery
./benchmark.sh --memory bench-repos/linux