属先我们开始正文,一个技术群里老哥提出了这样一个问题,为什么在一些情况下,Python 中的简单乘/除法比位运算要慢。
首先秉持着实事求是的精神,我们先来验证一下:
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:1057034340
我们发现几个很有趣的现象:
- 在值 x<=2^30 时,乘法比直接位运算要快
- 在值 x>2^32 时,乘法显著慢于位运算
这个现象很有趣,那么这个现象的 root cause 是什么?实际上这和 Python 底层的实现有关。
简单聊聊
1. PyLongObject 的实现
在 Python 2.x 时期,