首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python 使用Dis模块进行代码性能剖析

就像一个黑匣子,很多时候我们不知道python内部是怎样执行代码的,而且DEBUG的时候也没有机器指令可以查看,非常不利于代码优化。但是没关系,现在我们有Dis模块来对代码进行性能剖析。

为什么下面第一个函数比第二个函数耗得内存更少?

如果你没有厉害到那个程度是很难想出来的,但是我们使用Dis模块却能很容易找到答案:

结果:

Dis的结果其实很容易阅读:

第一列:对应的源代码行数。

第二列:对应的内存字节码的索引位置。

第三列:内部机器代码的操作。

第四列:指令参数。

第五列:实际参数。

两个函数的dis分析用*号隔开了,大家可以清晰地看到两个函数之间的语句区别。第二个函数的字节码索引最大到了30,而第一个函数的字节码索引最大仅到了22,因此,第一个函数耗得内存比第二个函数少

而且,在第一列和第二列之间的 >> 号表示跳转的目标,大家可以看第二个函数第四列的 18,表示其跳转到了索引为18的指令,也就是ROT_TWO。第二个函数的跳转也比第一个函数多,这也可能导致其在某种特殊情况下的效率可能会比第一个函数低。

如果你喜欢我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看,有任何问题都可以在下方留言区留言,我们都会耐心解答的!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190927A0ID1N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券