本文摘自php中文网,作者anonymity,侵删。
谁都知道Python最大的缺点就是性能差,到底多差网上没有具体数据,今天做了一个测试 。
首先要声明一下, 这个简单测试只是通过对阵列的建立、统计的耗时比较, 本以为阵列操作是python的强项,应该差别不大,但结果让人大跌眼镜:建立阵列Python耗时是java的 14倍多,统计耗时Python是java的24倍多。
硬件环境:
Win8.1 64位、i5 4670K 超到4.2GHZ,内存8G
软件:
python 3.4, JDK 1.6
Phton的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import time
c_rows=10000
c_cols=10000
lvStart=time.time()
# print (lvStart)
# 建立 [10000][10000]的整数阵列
lvArr=[[] for row in range(1,c_rows+1,1)]
lvRows=len(lvArr)
for row in range(0,lvRows,1):
lvArr[row]=[col for col in range(1,c_cols+1,1)]
lvEnd=time.time()
print ( "Create lvArray Use:%f" %((lvEnd-lvStart)*1000))
lvStart=time.time()
lvSum=sum(list(map(sum,lvArr)))
lvEnd=time.time()
print ( "lvArray summary is :%d" %(lvSum))
print ( "Calculate lvArray Use:%f" %((lvEnd-lvStart)*1000))
|
结果:
1 2 3 4 | Create lvArray Use:3654.559135
lvArray summary is :500050000000
Calculate lvArray Use:962.199926
[Finished in 6.3s]
|
========
JAVA的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public class Test {
public static void main(String[] args) {
long lvStart = System.currentTimeMillis();
int[][] lvArr = new int[10000][10000];
for (int row = 0; row < lvArr.length; row++) {
for (int col = 0; col < lvArr[row].length; col++) {
lvArr[row][col] = col + 1;
}
}
long lvEnd = System.currentTimeMillis();
System.out.println(String.format( "Create lvArray Use:%d" , lvEnd - lvStart));
lvStart = System.currentTimeMillis();
long lvSum = 0;
for (int row = 0; row < lvArr.length; row++) {
for (int col = 0; col < lvArr[row].length; col++) {
lvSum += lvArr[row][col];
}
}
lvEnd = System.currentTimeMillis();
System.out.println(String.format( "lvArray summary is :%d" , lvSum));
System.out.println(String.format( "Calculate lvArray Use:%d" , lvEnd-lvStart));
}
}
|
结果:
1 2 3 | Create lvArray Use:257
lvArray summary is :500050000000
Calculate lvArray Use:39
|
原本以为Python会在列表、阵列方法的运算用到并行计算,但没有,感觉很可惜。
C/Delphi这些硬家伙就不对比了,绝对秒得没影。
以上就是python比java慢多少的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python中multiprocessing库的深入讲解
Python数据分析师需要学什么
Python怎么逆序输出三位数
Python中insert用法是什么
Python怎么用c++代码
Python画图软件是哪个
Python中pack和unpack用法介绍
Python实现连接数据库的方法介绍
Python中arange是什么意思
Python中关于正则捕获操作的示例
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python比java慢多少