【发布时间】:2020-02-25 18:24:36
【问题描述】:
在我的程序中,当我觉得需要很长时间时,我会执行一个进度检查:我打印迭代器的当前值和每 n 次迭代的时间差,使用模 0 (if i % n == 0...) 。
Python 解释器(或任何其他编程语言编译器)是否有效地检查 2 的幂的整除性?就像取最后一个(幂)位并检查是否都等于 0?
【问题讨论】:
-
我可以向您保证,单模运算不是您程序中的瓶颈。尝试仅在出现问题时担心性能。
-
另外,这不是 Python 中的模运算符
-
请记住,检查模数非常快。打印通常很慢
-
尤其是在Python中,“我觉得”并不是寻找性能不佳原因的好依据。您是否尝试过使用分析器?
-
我认为 OP 只是想要一些进展的迹象,而不是试图找到一种方法来加快循环。