[자바] 제곱 속도 - 직접 만든 제곱 함수가 Math.pow() 보다 빠를 때도 있어요
* 1.0의 제곱을 20억 번 할 경우 Math.pow()가 직접 만든 제곱 함수보다 세 배 느렸습니다.
* 제곱 횟수를 훨씬 늘리면 시간 차이가 줄어들던데, 아마 JIT 컴파일 때문이 아닐까 추측만 해 보았습니다.
* 실험 결과와 코드는 아래와 같습니다.
걸린 시간 (Math.pow 함수, 20억 회): 6 ms
걸린 시간 (직접 만든 제곱, 20억 회): 2 ms
public class 제곱속도측정 {
public static double 직접만든제곱(double 숫자) {
return 숫자*숫자;
}
public static void main(String[] args) {
long 시작시간1 = System.currentTimeMillis();
for(int i=0; i<2000000000; ++i) {
Math.pow(1.0, 2);
}
long 끝시간1 = System.currentTimeMillis();
System.out.println("걸린 시간 (Math.pow 함수, 20억 회): " + (끝시간1-시작시간1) + " ms");
long 시작시간2 = System.currentTimeMillis();
for(int i=0; i<2000000000; ++i) {
직접만든제곱(1.0);
}
long 끝시간2 = System.currentTimeMillis();
System.out.println("걸린 시간 (직접 만든 제곱, 20억 회): " + (끝시간2-시작시간2) + " ms");
}
}
'개발, 전산, AI, IT' 카테고리의 다른 글
[리눅스] 리눅스 종류, 버전 확인 (0) | 2018.01.17 |
---|---|
[OpenCV] 안드로이스 스튜디오에서 OpenCV를 jar 파일로 만들기 (0) | 2018.01.03 |
[리눅스] 리눅스 프로세스가 킬 (kill) 되었을 때 원인 찾아보기 (0) | 2017.11.02 |
[LUAROCKS] You may have to install OPENSSL in your system and/or pass OPENSSL_DIR or OPENSSL_INCDIR to the luarocks command. (0) | 2017.02.24 |
빅 엔디안, 리틀 엔디안 (0) | 2017.02.20 |