【发布时间】:2012-07-03 15:15:43
【问题描述】:
我有一个问题,为什么python数值计算非常快? 例如下面的代码运行时间不到一秒
import math
print math.factorial(10000)
为什么???
【问题讨论】:
-
这个函数的速度很大程度上取决于 Python 版本。它在 Python 3 中要快得多,而您似乎使用的是 Python 2.x。
-
为什么不快?
-
有关 Python 2.x 和 3.x 中不同阶乘算法的讨论,请参见 Why is math.factorial much slower in Python 2.x than 3.x?。关闭为重复。
-
在 math_factorial 的 c 代码中我发现它使用了一个名为 PyNumber_Multiply 的函数,但我没有找到它的实现
标签: python