| name | python-performance |
| description | Profiles Python code for performance bottlenecks and memory issues. Use when Python code is slow or when profiling for optimization before a release. |
| globs | **/*.py |
| alwaysApply | false |
| category | performance |
| tags | ["python","performance","profiling","optimization","cProfile","memory"] |
| tools | [] |
| usage_patterns | ["performance-analysis","bottleneck-identification","memory-optimization","algorithm-optimization"] |
| complexity | intermediate |
| model_hint | standard |
| estimated_tokens | 1200 |
| progressive_loading | true |
| modules | ["modules/profiling-tools.md","modules/optimization-patterns.md","modules/memory-management.md","modules/benchmarking-tools.md","modules/best-practices.md"] |
Python Performance Optimization
Profiling and optimization patterns for Python code.
Table of Contents
- Quick Start
Quick Start
import timeit
time = timeit.timeit("sum(range(1000000))", number=100)
print(f"Average: {time/100:.6f}s")
Verification: Run the command with --help flag to verify availability.
When To Use
- Identifying performance bottlenecks
- Reducing application latency
- Optimizing CPU-intensive operations
- Reducing memory consumption
- Profiling production applications
- Improving database query performance
When NOT To Use
- Async concurrency - use python-async
instead
- CPU/GPU system monitoring - use conservation:cpu-gpu-performance
- Async concurrency - use python-async
instead
- CPU/GPU system monitoring - use conservation:cpu-gpu-performance
Modules
This skill is organized into focused modules for progressive loading:
CPU profiling with cProfile, line profiling, memory profiling, and production profiling with py-spy. Essential for identifying where your code spends time and memory.
Eleven proven optimization patterns including list comprehensions, generators, caching, string concatenation, data structures, NumPy, multiprocessing, database operations, and loop transformations (what works in Python vs the compiler).
Memory optimization techniques including leak tracking with tracemalloc and weak references for caches. Depends on profiling-tools.
Benchmarking tools including custom decorators and pytest-benchmark for verifying performance improvements.
Best practices, common pitfalls, and exit criteria for performance optimization work. Synthesizes guidance from profiling-tools and optimization-patterns.