低开销的 Java 采样性能分析器,可采集 CPU、内存分配、锁竞争和本地内存等剖析数据。
plasma-umass/scalene
一款 Python 性能分析器,可逐行统计 CPU、GPU 和内存消耗,并可选生成 AI 优化建议。
- Star
- 13,550
- Fork
- 446
- 未关闭 Issue
- 154
- 最近提交
- 6天前
这是什么?
Scalene 是一款 Python 程序性能分析工具,可以按行和按函数统计 CPU 时间、NVIDIA GPU 时间以及内存分配。它能区分 Python 代码与 C/C++ 等原生库代码的耗时,并统计系统时间,便于定位 I/O 瓶颈。Scalene 基于采样而非插桩追踪,因此额外开销较低。
除耗时外,Scalene 还能追踪内存增长和拷贝量,标记可能存在内存泄漏的代码行,并支持异步代码中 await 的等待时间统计。分析结果可以在离线可用的 Web 界面、终端或独立 HTML 文件中查看,也可在 VS Code 和 Jupyter 中使用,并支持自由线程版 Python 3.13t 和 3.14t。
在 GUI 中,Scalene 可将热点代码发送给 OpenAI、Azure、Amazon Bedrock 或本地 Ollama 模型,生成优化建议。建议按需生成,使用时需要自行提供凭据。
核心功能
- 01按行区分 Python 代码、原生代码和系统时间的 CPU 耗时。
- 02统计 NVIDIA GPU 耗时与内存分配,包括逐行内存增长。
- 03检测可能的内存泄漏,并统计 Python 与库之间的拷贝量。
- 04按行统计 async 代码中 await 的等待时间及并发数。
- 05提供离线 Web 界面、终端输出和独立 HTML 导出。
- 06可通过 AI 服务为热点代码生成优化建议。
适用场景
- 定位慢速 Python 脚本中占用 CPU 或内存最多的代码行。
- 判断性能瓶颈来自 Python 代码、原生库还是 I/O。
- 排查数据处理流程中的内存泄漏或不必要的数组拷贝。
- 分析异步服务中 await 是串行等待还是并发执行。
快速上手
- 1
使用 pip 安装 Scalene
python3 -m pip install -U scalene - 2
分析你的程序
scalene run your_prog.py - 3
在浏览器中查看分析结果
scalene view
使用前须知
- GPU 分析目前仅限于基于 NVIDIA 的系统。
- AI 优化建议需要你自行提供 OpenAI、Azure、Amazon Bedrock 等服务商的凭据,或使用本地 Ollama 模型。
收录于专题
标签
常见问题
- scalene 是什么?
- 一款 Python 性能分析器,可逐行统计 CPU、GPU 和内存消耗,并可选生成 AI 优化建议。 Scalene 是一款 Python 程序性能分析工具,可以按行和按函数统计 CPU 时间、NVIDIA GPU 时间以及内存分配。它能区分 Python 代码与 C/C++ 等原生库代码的耗时,并统计系统时间,便于定位 I/O 瓶颈。Scalene 基于采样而非插桩追踪,因此额外开销较低。
- scalene 可以免费使用吗?用的什么许可证?
- scalene 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- scalene 还在维护吗?
- 活跃维护中。scalene 最近一次提交是在 2026年11月1日。
- scalene 适合用来做什么?
- 定位慢速 Python 脚本中占用 CPU 或内存最多的代码行。 判断性能瓶颈来自 Python 代码、原生库还是 I/O。 排查数据处理流程中的内存泄漏或不必要的数组拷贝。 分析异步服务中 await 是串行等待还是并发执行。
- scalene 怎么安装和运行?
- 使用 pip 安装 Scalene: python3 -m pip install -U scalene 分析你的程序: scalene run your_prog.py 在浏览器中查看分析结果: scalene view
- 在哪里获取 scalene?
- 源代码和安装说明在 GitHub 上:https://github.com/plasma-umass/scalene
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
NVIDIA 推出的 Rust CUDA 平台,提供主机端运行时及 SIMT、Tile 两种 GPU 内核编程模型。
一款 Python 程序采样性能分析器,无需修改代码或重启程序即可附加到运行中的进程。
用于可视化和分析 profile.proto 格式性能剖析数据的命令行与 Web 工具。
免费的 Windows 性能分析工具,用于定位 CPU 和内存相关的性能问题,并对 .NET 运行时代码提供专门支持。
嵌入 Python 的编程语言,可将数值计算代码即时编译为 CPU 或 GPU(CUDA、Vulkan、Metal 等)上运行的高性能代码。