파이썬의 가장 큰 단점이 성능이 좋지 않다는 것은 누구나 알고 있는 사실입니다.
우선 이 간단한 테스트는 배열 생성과 통계에 대한 시간 소모적인 비교임을 말씀드립니다. 연산은 Python의 강점이었습니다. 큰 차이는 없어야 했지만 결과는 충격적이었습니다. Python은 배열을 생성하는 데 Java보다 14배 이상 시간이 걸리고 Python은 Java보다 24배 이상 시간이 걸립니다.
하드웨어 환경:
Win8.1 64비트, i5 4670K ultra~4.2GHZ, 메모리 8G
소프트웨어:
# 🎜 🎜#python 3.4, JDK 1.6Phton's: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))결과:
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원래 Python이 목록 및 배열 방법의 작업에 병렬 컴퓨팅을 사용할 것이라고 생각했지만 그렇지 않습니다. 안타깝다. C/Delphi, 이 강인한 놈들은 비교도 안 될 거야, 분명 몇 초 안에 사라질 거야.
위 내용은 Python은 Java보다 얼마나 느립니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!