主要观点:
- 发布 Pyinstrument 5.0.0,带来多年筹备成果。
- 介绍其两种模式:“call stack”(调用栈)模式和“timeline”(时间线)模式,新的“timeline”模式很有用且交互性好。
- 详细阐述实现新“timeline”模式的过程,包括用 Typescript 重写部分函数、在 HTML 2D Canvas 中实现界面等,还提到设计颜色方案的过程。
- 提及其他改进,如简化页面头部设计、Call stack 视图支持箭头键导航、改变“library”代码检测方式、
profiler.start()
可传target_description
参数。 - 邀请尝试 HTML 输出并获取最新版本,可在 Mastodon、Reddit 或 Github 上反馈意见。
关键信息:
- 新“timeline”模式可通过
pyinstrument -r html myscript.py
获取,60fps 流畅,与调用栈视图并存且从相同数据渲染。 - 用 Typescript 重写函数实现“timeline”模式,通过 HTML 2D Canvas 实现界面。
- 设计颜色方案时采用 RomaO 循环调色板并进行调整,通过特定算法选择颜色。
- 其他改进包括页面头部设计、导航功能、“library”代码检测和
profiler.start()
参数。
重要细节:
- 旧“timeline”模式输出及与新模式对比。
- 各种模式下的视频展示,如新“timeline”模式视频、Call stack 视图选项视频、Timeline 视图选项视频、颜色选择算法视频。
- 可在线尝试 HTML 输出及获取最新版本的方法(
pip install -U pyinstrument
,pyinstrument -r html
运行脚本)。 - 反馈渠道在 Mastodon、Reddit 或 Github 上。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。