Performance Optimization Skill
Description
Systematic performance analysis and optimization for RTK CLI tool, focusing on **startup time (<10ms)**, **memory usage (<5MB)**, and **token savings (60-90%)**.
Installation
claude install-skill https://github.com/rtk-ai/rtk README
description: CLI performance optimization - startup time, memory usage, token savings benchmarking
Performance Optimization Skill
Systematic performance analysis and optimization for RTK CLI tool, focusing on **startup time (<10ms)**, **memory usage (<5MB)**, and **token savings (60-90%)**.
When to Use
- undefined
RTK Performance Targets
| Metric | Target | Verification Method | Failure Threshold |
|---|---|---|---|
| Startup time | <10ms | hyperfine 'rtk ' |
>15ms = blocker |
| Memory usage | <5MB resident | /usr/bin/time -l rtk (macOS) |
>7MB = blocker |
| Token savings | 60-90% | Tests with count_tokens() |
<60% = blocker |
| Binary size | <5MB stripped | ls -lh target/release/rtk |
>8MB = investigate |
Performance Analysis Workflow
1. Establish Baseline
Before making any changes, capture current performance:
# Startup time baseline
hyperfine 'rtk git status' --warmup 3 --export-json /tmp/baseline_startup.json
# Memory usage baseline (macOS)
/usr/bin/time -l rtk git status 2>&1 | grep "maximum resident set size" > /tmp/baseline_memory.txt
# Memory usage baseline (Linux)
/usr/bin/time -v rtk git status 2>&1 | grep "Maximum resident set size" > /tmp/baseline_memory.txt
# Binary size baseline
ls -lh target/release/rtk | tee /tmp/baseline_binary_size.txt
2. Make Changes
Implement optimization or feature changes.
3. Rebuild and Measure
# Rebuild with optimizations
cargo build --release
# Measure startup time
hyperfine 'target/release/rtk git status' --warmup 3 --export-json /tmp/after_startup.json
# Measure memory usage
/usr/bin/time -l target/release/rtk git status 2>&1 | grep "maximum resident set size" > /tmp/after_memory.txt
# Check binary size
ls -lh target/release/rtk | tee /tmp/after_binary_size.txt
4. Compare Results
# Startup time comparison
hyperfine 'rtk git status' 'target/release/rtk git status' --warmup 3
# Example output:
# Benchmark 1: rtk git status
# Time (mean ± σ): 6.2 ms ± 0.3 ms [User: 4.1 ms, System: 1.8 ms]
# Benchmark 2: target/release/rtk git status
# Time (mean ± σ): 7.8 ms ± 0.4 ms [User: 5.2 ms, System: 2.1 ms]
#
# Summary
# 'rtk git status' ran 1.26 times faster than 'target/release/rtk git status'
# Memory comparison
diff /tmp/baseline_memory.txt /tmp/after_memory.txt
# Binary size comparison
diff /tmp/baseline_binary_size.txt /tmp/after_binary_size.txt
5. Identify Regressions
**Startup time regression** (>15% increase or >2ms absolute):
# Profile with flamegraph
cargo install flamegraph
cargo flamegraph -- target/release/rtk git status
# Open flame
Related Skills
Claude Code Terminal Title
Gives each Claude Code terminal window a dynamic title describing the work being done
Productivity community N8n Skills
Enables AI assistants to directly understand and operate n8n workflows
Productivity community Composio Make
Trigger and manage Make (Integromat) scenarios
Productivity community Getting Help
career-ops is an open source project maintained in limited time. Here's how to get help efficiently.
Productivity community Worktree Status Check
Verify the current worktree environment and show task details.
Productivity community Time Command
Display the current date and time in Pakistan Standard Time (PKT, UTC+5).
Productivity community