mcpField
P
python-performance-optimization

python-performance-optimization

github.com/full-stack-skills开发397 次安装5 周前更新
代码仓库

关于 python-performance-optimization

面向排查 Python 应用速度慢或资源占用高问题的性能指导技能。涵盖 CPU、内存和代码路径分析,并介绍算法、I/O 与实现层面的优化方法。

主要功能

  1. 01CPU 与内存分析
  2. 02逐行分析和调用图
  3. 03执行与资源指标
  4. 04算法和数据结构指导
  5. 05缓存、批处理与并行策略

适用场景

  1. 01定位 Python 应用性能瓶颈
  2. 02降低延迟或内存用量
  3. 03改进数据处理流水线
  4. 04评估生产环境性能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/full-stack-skills/python-skills --skill python-performance-optimization

安装后在 Claude Code 中输入/python-performance-optimization确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
agents/
openai.yaml
examples/
advanced-usage.md
basic-usage.md
integration.md
references/
advanced-patterns.md
details.md

详细介绍

来源声明:本技能内容源自 wshobson/agents (MIT License, Copyright (c) 2024 Seth Hobson;完整许可文本见同目录 LICENSE.txt)。 使用、修改与再分发须遵守该 MIT 许可条款并保留版权声明。

中文描述

本技能提供全栈开发相关的最佳实践和模式指导。


name: python-performance-optimization description: 使用 cProfile、内存分析器和性能最佳实践对 Python 代码进行性能分析和优化。适用于调试运行缓慢的 Python 代码、优化瓶颈或提升应用性能。

Python 性能优化

全面介绍如何对 Python 代码进行性能分析、分析和优化以提升性能,包括 CPU 性能分析、内存优化和实现最佳实践。

何时使用此技能

  • 识别 Python 应用中的性能瓶颈
  • 降低应用延迟和响应时间
  • 优化 CPU 密集型操作
  • 减少内存消耗和内存泄漏
  • 提高数据库查询性能
  • 优化 I/O 操作
  • 加快数据处理流水线
  • 实现高性能算法
  • 对生产环境中的应用进行性能分析

核心概念

1. 性能分析类型
  • CPU 性能分析:识别耗时较长的函数
  • 内存性能分析:跟踪内存分配和泄漏
  • 行级性能分析:以逐行粒度进行性能分析
  • 调用图:可视化函数调用关系
2. 性能指标
  • 执行时间:操作所需的时间
  • 内存使用量:峰值和平均内存消耗
  • CPU 利用率:处理器使用模式
  • I/O 等待:I/O 操作所花费的时间
3. 优化策略
  • 算法层面:采用更好的算法和数据结构
  • 实现层面:采用更高效的代码模式
  • 并行化:多线程/多进程
  • 缓存:避免重复计算
  • 原生扩展:在关键路径中使用 C/Rust

快速入门

基本计时
import time

def measure_time():
    """Simple timing measurement."""
    start = time.time()

    # Your code here
    result = sum(range(1000000))

    elapsed = time.time() - start
    print(f"Execution time: {elapsed:.4f} seconds")
    return result

# Better: use timeit for accurate measurements
import timeit

execution_time = timeit.timeit(
    "sum(range(1000000))",
    number=100
)
print(f"Average time: {execution_time/100:.6f} seconds")

详细模式和示例

详细的模式文档位于 references/details.md。如果上文的导航内容不够用,请阅读该文件。

最佳实践

  1. 先进行性能分析,再优化 - 通过测量找出真正的瓶颈
  2. 关注热点路径 - 优化运行频率最高的代码
  3. 使用合适的数据结构 - 查找使用 Dict,成员检查使用 set
  4. 避免过早优化 - 先保证清晰,再进行优化
  5. 使用内置函数 - 它们由 C 实现
  6. 缓存开销较大的计算 - 使用 lru_cache
  7. 批量执行 I/O 操作 - 减少系统调用
  8. 对大型数据集使用生成器
  9. 对数值运算考虑使用 NumPy
  10. 分析生产环境代码 - 在实时系统中使用 py-spy

常见陷阱

  • 未进行性能分析就开始优化
  • 不必要地使用全局变量
  • 未使用合适的数据结构
  • 创建不必要的数据副本
  • 未对数据库使用连接池
  • 忽略算法复杂度
  • 过度优化罕见的代码路径
  • 未考虑内存使用量

能力边界

✅ 擅长处理
  • 全栈开发相关的最佳实践
  • 代码架构设计指导
  • 性能优化建议
⚠️ 需要素材
  • 具体的项目上下文
  • 技术栈信息
❌ 超出范围
  • 非技术领域的业务决策
  • 具体的代码实现(仅提供指导)

工作流程

步骤 1:需求分析

理解项目需求和技术约束

步骤 2:架构设计

设计系统架构和组件划分

步骤 3:实现指导

提供具体的实现建议和代码模式

步骤 4:代码审查

审查代码质量和最佳实践遵循情况

步骤 5:优化建议

提供性能优化和改进建议

注意事项

1. 过度设计

避免在简单场景中使用复杂的设计模式

2. 忽视性能

不要忽视性能优化,特别是在生产环境中

3. 安全考虑

始终考虑安全性和数据保护

4. 测试覆盖

确保有足够的测试覆盖,特别是边界情况

5. 文档维护

保持文档与代码同步更新

评论

支持 Markdown