如其他答案中所述,这取决于运行时系统以及手头的任务。因此,标准(C)Python并不一定比Java或C慢。它的一些模块是用C语言实现的,因此将anative实现的速度与Python语言结合起来。
我们做了一个小实验:我们比较了不同语言中阶乘计算的执行时间。该测试实际上是为了评估任意精度整数实现的性能。testee. language arbitrary-precision integers run-time
1. Java java.math.BigInteger JRE 6.13
2. .NET System.Numerics.BigInteger MS CLR 4.0
3. Python long Active Python 2.6.2.2
4. Squeak BigInt Squeak 3.10.2
5. .NET Mono.Math.BigInteger MS CLR 4.0
results:
1) 2) 3) 4) 5)
10.000! 343 ms 137 ms 91 ms 1.200 ms 169 ms
20.000! 1.480 ms 569 ms 372 ms 1.457 ms 701 ms
30.000! 3.424 ms 1.243 ms 836 ms 3.360 ms 1.675 ms
40.000! 6.340 ms 2.101 ms 1.975 ms 6.738 ms 3.042 ms
50.000! 10.493 ms 3.763 ms 3.658 ms 10.019 ms 5.242 ms
60.000! 15.586 ms 7.683 ms 5.788 ms 14.241 ms 10.000 ms
条形图显示结果。Python显然是赢家。据我所知,Python使用Karatsuba-algorithm来乘法大整数,这解释了速度。
此外,Python的“任意精度整数”类型是内置的long。因此,您甚至不需要Java的biginger类所需的特殊类型处理。