# Profile Code

> Measure execution time and memory usage of code. Use when analyzing performance characteristics.

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

---


# Profile Code

Use profiling tools to measure CPU time, memory allocation, and identify performance bottlenecks in code.

## When to Use

- Finding performance bottlenecks
- Measuring CPU vs memory tradeoffs
- Understanding where code spends most time
- Optimizing hot code paths

## Quick Reference

```bash
# Python CPU profiling with cProfile
python3 -m cProfile -s cumulative script.py | head -30

# Memory profiling
pip install memory-profiler
python3 -m memory_profiler script.py

# Detailed call graph
pip install graphviz
python3 -m pstats /tmp/profile.prof
```

## Workflow

1. **Select profiler**: Choose appropriate tool (cProfile for CPU, memory_profiler for memory)
2. **Run with instrumentation**: Execute code with profiling enabled
3. **Capture metrics**: Record timing and memory data
4. **Analyze output**: Identify top time consumers and memory hogs
5. **Report findings**: Document bottlenecks with before/after context

## Output Format

Profiling report:

- Top functions by execution time
- Call count for each function
- Memory allocation per function
- Call graph/call tree
- Percentage of total time/memory per function
- Recommendations for optimization

## References

- See `suggest-optimizations` skill for improvement recommendations
- See `benchmark-functions` skill for measuring improvements
- See CLAUDE.md > Performance for optimization guidelines

