Python 功能点实现:函数级/代码块级计时器

2019-01-05 19:22:53 +08:00
 simoncos
https://www.jianshu.com/p/c890d5258ac9
2604 次点击
所在节点    Python
11 条回复
fanhaipeng0403
2019-01-05 21:06:04 +08:00
卧槽 我刚写了个类似的文章~
simoncos
2019-01-05 21:07:28 +08:00
@fanhaipeng0403 哈哈,握手,发出来看看啊
fanhaipeng0403
2019-01-05 21:07:58 +08:00
fanhaipeng0403
2019-01-05 21:08:12 +08:00
@simoncos 可能没啥用 哈哈
Allianzcortex
2019-01-05 21:16:00 +08:00
我能想到的基本也就这两种方法了...
Allianzcortex
2019-01-05 21:23:26 +08:00
simoncos
2019-01-05 21:25:02 +08:00
@Allianzcortex 哈哈哈哈有种被钦定的感觉
Allianzcortex
2019-01-05 21:28:11 +08:00
@simoncos 说明 best practice 是全球通用的 !😷
neoblackcap
2019-01-05 23:02:26 +08:00
如果只是简单的计数,我觉得这个实现问题不大,如果是为了做性能剖析采样的话。

uber 的 pyflame,无入侵式,可以生成火焰图,看火焰图就差不多了。

如果想跟进一步做 timer 的话,可以使用 CPython 的 Profiling API,Pycharm 也是用对应的 API 实现 Debugger 的。精确到行级,性能更高。
simoncos
2019-01-05 23:25:31 +08:00
@neoblackcap pyflame 之前不了解,无侵入式倒是很有意思,不知道是怎么做到的,谢谢推荐。profile 的话场景感觉有点不一样,目前我工程上主要是用计时器在生产时输出日志。
neoblackcap
2019-01-05 23:50:44 +08:00
@simoncos 非侵入式,当然是要考虑 dtrace, bpf, ptrace 之类的工具,然后再对应回你的源代码。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/524217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX