AgentSkillsCN

python-performance

在进行Python性能剖析与优化时,请参考此技能。适用于调试运行缓慢的代码、识别性能瓶颈、优化内存使用、进行性能基准测试、开展生产环境性能剖析时使用。切勿在异步并发场景中使用此技能——请改用Python异步技能。切勿在CPU/GPU系统监控时使用此技能——请改用节能:CPU-GPU性能技能。

SKILL.md
--- frontmatter
name: python-performance
description: 'Consult this skill for Python performance profiling and optimization.
  Use when debugging slow code, identifying bottlenecks, optimizing memory, benchmarking
  performance, production profiling. Do not use when async concurrency - use python-async
  instead. DO NOT use when: CPU/GPU system monitoring - use conservation:cpu-gpu-performance.'
category: performance
tags:
- python
- performance
- profiling
- optimization
- cProfile
- memory
tools:
- profiler-runner
- memory-analyzer
- benchmark-suite
usage_patterns:
- performance-analysis
- bottleneck-identification
- memory-optimization
- algorithm-optimization
complexity: intermediate
estimated_tokens: 1200
progressive_loading: true
modules:
- profiling-tools
- optimization-patterns
- memory-management
- benchmarking-tools
- best-practices
version: 1.4.0

Python Performance Optimization

Profiling and optimization patterns for Python code.

Quick Start

python
# Basic timing
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:

profiling-tools

CPU profiling with cProfile, line profiling, memory profiling, and production profiling with py-spy. Essential for identifying where your code spends time and memory.

optimization-patterns

Ten proven optimization patterns including list comprehensions, generators, caching, string concatenation, data structures, NumPy, multiprocessing, and database operations.

memory-management

Memory optimization techniques including leak tracking with tracemalloc and weak references for caches. Depends on profiling-tools.

benchmarking-tools

Benchmarking tools including custom decorators and pytest-benchmark for verifying performance improvements.

best-practices

Best practices, common pitfalls, and exit criteria for performance optimization work. Synthesizes guidance from profiling-tools and optimization-patterns.

Exit Criteria

  • Profiled code to identify bottlenecks
  • Applied appropriate optimization patterns
  • Verified improvements with benchmarks
  • Memory usage acceptable
  • No performance regressions

Troubleshooting

Common Issues

Command not found Ensure all dependencies are installed and in PATH

Permission errors Check file permissions and run with appropriate privileges

Unexpected behavior Enable verbose logging with --verbose flag