wierob..
39
正如其他答案所述,这取决于运行时系统以及手头的任务.所以标准(C)Python不一定比Java或C#慢.它的一些模块用C实现.因此将本机实现的速度与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算法来乘以大整数,这解释了速度.
此外,Python的"任意精度整数"类型是内置的long.因此,您甚至不需要Java的BigInteger类所需的特殊类型处理.
@Comptrol这些已经过时了 - http:///u32q/benchmark.php?test=all&lang=python&lang2=java和http:// /u32q/benchmark.php?test=all&lang=python&lang2=csharp (2认同)
















