plasma-umass/scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python with AI-powered optimization proposals
解决的问题
Scalene 是一个高性能的 Python 分析器,用于识别 CPU、GPU 和内存使用中的瓶颈。它通过提供行级细节,并将 Python 代码执行时间与原生库或系统 I/O 时间分离,解决了分析不精确或缓慢的问题,使开发者能够专注于真正可以优化的代码。
运作原理
Scalene 使用采样而非检测(instrumentation)来保持低开销(通常为 10-20%)。它通过专门的内存分配器跟踪 CPU 使用率、NVIDIA GPU 时间和内存分配。它还能归因 await 异步协程的时间,并捕获拼接的 Python 和原生 (C/C++) 调用栈。为了提供优化建议,它集成了 OpenAI、Azure、Amazon Bedrock 和 Ollama 等 AI 提供商。
适用对象
专为需要优化应用程序性能的 Python 开发者设计,特别是那些使用大量原生库、异步代码或 GPU 加速的开发者。
特色亮点
- AI 驱动优化:根据分析数据,使用 LLM 生成代码改进建议。
- 详细资源跟踪:区分 Python、原生和系统时间,并识别内存泄漏和复制量。
- 全面可视化:包含基于 Web 的 GUI,提供调用栈火焰图、内存加权栈和墙上时钟时间轴。
- 异步分析:测量挂起协程的每行墙上时钟时间归因,并跟踪并发级别。
- 低开销:运行速度显著快于许多其他分析器,同时保持高准确度。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目