Home  >  Article  >  Backend Development  >  How much slower is python than java

How much slower is python than java

anonymity
anonymityOriginal
2019-06-12 11:39:473257browse

Everyone knows that the biggest shortcoming of Python is poor performance. There is no specific data on the Internet about how bad it is. I did a test today.

How much slower is python than java

First of all, let me state that this simple test is just a time-consuming comparison of array creation and statistics. I thought that array operations were Python’s strength, and there shouldn’t be much difference. But the results are shocking: Python takes more than 14 times to create an array than Java, and statistics takes more than 24 times as long as Java.

Hardware environment:

Win8.1 64-bit, i5 4670K ultra to 4.2GHZ, memory 8G

Software:

python 3.4, JDK 1.6

Phton:

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))

Result:

Create lvArray Use:3654.559135
lvArray summary is :500050000000
Calculate lvArray Use:962.199926
[Finished in 6.3s]

========

JAVA:

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));
}
}

Result:

Create lvArray Use:257
lvArray summary is :500050000000
Calculate lvArray Use:39

I originally thought that Python would use parallel computing for list and array method operations, but it didn’t, which feels like a pity.

I won’t compare these hard guys like C/Delphi, they will definitely disappear in seconds.

The above is the detailed content of How much slower is python than java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn