home / skills / dkyazzentwatwa / chatgpt-skills / code-profiler
This skill profiles Python code performance, identifies bottlenecks, and validates optimizations with timing, memory, and call-graph insights.
npx playbooks add skill dkyazzentwatwa/chatgpt-skills --skill code-profilerReview the files below or copy the command above to add this skill to your agents.
---
name: code-profiler
description: Use when asked to profile Python code performance, identify bottlenecks, measure execution time, or analyze function call statistics.
---
# Code Profiler
Analyze Python code performance, identify bottlenecks, and optimize execution with comprehensive profiling tools.
## Purpose
Performance analysis for:
- Bottleneck identification
- Function execution time measurement
- Memory usage profiling
- Call graph visualization
- Optimization validation
## Features
- **Time Profiling**: Measure function execution times
- **Line-by-Line Analysis**: Profile each line of code
- **Call Statistics**: Function call counts and cumulative time
- **Memory Profiling**: Track memory allocation and usage
- **Flamegraph Visualization**: Visual call stack analysis
- **Comparison**: Before/after optimization comparison
## Quick Start
```python
from code_profiler import CodeProfiler
# Profile function
profiler = CodeProfiler()
profiler.profile_function(my_function, args=(arg1, arg2))
profiler.print_stats(top=10)
# Profile script
profiler.profile_script('script.py')
profiler.export_report('profile_report.html')
```
## CLI Usage
```bash
# Profile Python script
python code_profiler.py script.py
# Profile with line-by-line analysis
python code_profiler.py script.py --line-by-line
# Export HTML report
python code_profiler.py script.py --output report.html
```
This skill profiles Python code to find performance bottlenecks, measure execution time, and validate optimizations. It combines time profiling, line-by-line analysis, memory tracking, and visual outputs like flamegraphs and HTML reports. Use it to get actionable metrics that guide targeted refactoring and performance tuning.
The profiler runs functions or scripts under instrumentation to collect timing, call counts, and memory allocation data. It can produce aggregate statistics, line-level timings, call graphs, and flamegraphs, and export human-readable HTML reports for comparison. You can profile a specific function, a full script, or compare before/after runs to validate improvements.
Can I profile a single function without running a whole script?
Yes. You can directly profile a function with provided helpers that accept the target function and its arguments.
How do I reduce profiling overhead for long-running programs?
Profile representative short runs or sample-based profiling; use line-by-line only for isolated hotspots to minimize overhead.
Does it support visual outputs?
Yes. The skill can produce flamegraphs and export HTML reports for easy visualization and sharing.