87ab0b794b47a5147e3abc527f28beedc3e1f5b3
Python Profiler Visualizer
粘贴一段 Python 代码,一键运行,立刻看到每个函数各花多少时间。桌面应用,不联网,不传你的代码,不配环境。
下载
到 Releases 下载 Python Profiler Visualizer Setup x.y.z.exe,双击安装。首次启动会扫描 Python;找不到可点应用里的「打开终端」按钮,按系统预填命令装即可。
从源码运行
需 Node 20+ 和 Python 3.9+:npm install 后 npm run dev。
用法
- 左侧编辑器贴代码(或点工具栏「加载示例」)
Ctrl/Cmd + Enter运行- 右侧看摘要、热点表、6 种耗时可视化
- 点热点表任意函数跳到对应行;标准库/第三方包会新开标签页展示源文件
- 工具栏切换「剖析范围」:仅用户代码 / 含库函数(切换后旧结果会标为陈旧)
按 ← / → 在柱状图、火焰图、矩形树图、旭日图、累计柱状图、模块热力图之间切换。
快捷键
| 按键 | 作用 |
|---|---|
Ctrl/Cmd + Enter |
运行 / 取消 |
Esc |
取消运行 / 关设置面板 |
← / → |
切标签页或图表视图 |
Home / End |
跳到首/尾 |
Delete / Ctrl/Cmd + W |
关闭当前标签页 |
耗时数字说明
cProfile 会拖慢代码 1.5~3 倍。引擎启动时跑同一段 tight-loop 测出裸跑与仪器化倍率,把你的 instrumented 时间除回去,摘要数字接近真实耗时,并标「已校准」。
提醒:
- 单次数字有抖动,比较时建议跑多次
- 含
plt.show()/input()/cv2.waitKey()等阻塞事件循环的等待时,UI 会提示「含交互等待」
限制
- 仅单文件自包含脚本,不支持命令行参数或多文件项目
- 无自动超时(取消靠按钮或
Esc),长时间任务跑到自然结束 - 不替代
py-spy/scalene
给开发者
Electron 31 + React 18 + Vite 5 + TypeScript 5,Python 引擎用 cProfile + 标准库。
npm run dev # 开发
npm run build # 打包
npm run release # 出 Windows 安装包
npm test # 单元测试
npm run test:e2e # E2E
python -m pytest engine/tests -v # Python 引擎测试
架构:src/main/ 主进程、src/renderer/ React 前端、engine/ Python 引擎。跨语言契约 AnalysisResult,Python 侧 engine/schema.py 是事实源,TypeScript 侧 src/shared/analysis.ts 对齐,契约测试 engine/tests/test_contract.py 锁版本。
npm run release 产物在 release/Python Profiler Visualizer Setup x.y.z.exe。未签名,Windows SmartScreen 点「更多信息 → 仍要运行」即可。
License
MIT
Description
Languages
TypeScript
82.5%
Python
14.9%
CSS
1.4%
JavaScript
1%
HTML
0.2%