# Perf

> Profile and optimize bottlenecks. Use for performance issues or caching strategies. Use when this capability is needed.

- Skill: `tomevault-io/perf` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/perf`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/perf/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/perf

---


# Performance Engineering

Profile, analyze, and optimize application performance.

## When to Use

- Application is slow or unresponsive
- User reports performance issues
- Before scaling infrastructure
- Optimizing critical paths
- Setting up monitoring

## Optimization Process

1. **Measure** - Profile before optimizing
2. **Identify** - Find the biggest bottlenecks
3. **Optimize** - Fix highest-impact issues first
4. **Verify** - Confirm improvements with metrics

## Profiling Commands

```bash
# Node.js profiling
node --prof app.js
node --prof-process isolate-*.log > profile.txt

# Python profiling
python -m cProfile -o output.prof script.py
python -m pstats output.prof

# Go profiling
go tool pprof http://localhost:6060/debug/pprof/profile
```

## Common Bottlenecks

### Database

- Missing indexes (add indexes on WHERE/JOIN columns)
- N+1 queries (use eager loading)
- Large result sets (add pagination)

### Memory

- Memory leaks (check event listeners, closures)
- Large objects (stream instead of buffer)
- Cache without TTL (add expiration)

### CPU

- Synchronous operations (make async)
- Complex algorithms (optimize or cache)
- Unnecessary computation (memoize)

### Network

- Too many requests (batch/combine)
- Large payloads (compress, paginate)
- No caching (add CDN, browser cache)

## Performance Budgets

| Metric         | Target |
| -------------- | ------ |
| Load Time (3G) | <3s    |
| Load Time (4G) | <1s    |
| API Response   | <200ms |
| Bundle Size    | <500KB |
| LCP            | <2.5s  |
| FID            | <100ms |
| CLS            | <0.1   |

## Output Format

```markdown
## Performance Report

**Before:** [baseline metrics]
**After:** [improved metrics]
**Improvement:** [percentage]

### Bottlenecks Identified

1. [Issue] - Impact: High/Medium/Low

### Optimizations Applied

1. [Change] → [Result]
```

## Examples

**Input:** "The API is slow"
**Action:** Profile endpoints, identify slow queries, optimize, verify improvement

**Input:** "Page load is taking too long"
**Action:** Analyze bundle, check network, optimize critical path, add caching

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/htlin222) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

