결과부터 말하자면 별로 차이 안난다.
import java.util.function.IntPredicate;
import java.util.function.Predicate;
public class study {
public static void main(String[] args) {
IntPredicate evenNumbers = (int i) -> i % 2 == 0;
Predicate<Integer> oddNumbers = (Integer i) -> i % 2 != 0;
int beforeTime, afterTime, result;
int circle = 100000000;
// Warm-up
// beforeTime = (int) System.currentTimeMillis();
// for (int i = 0; i < circle; i++) {
// evenNumbers.test(1000);
// oddNumbers.test(1000);
// }
// afterTime = (int) System.currentTimeMillis();
// Warm- up end
beforeTime = (int) System.currentTimeMillis();
for (int i = 0; i < circle; i++) evenNumbers.test(1000); // NoBoxing
afterTime = (int) System.currentTimeMillis();
System.out.println("No boxing : " + (afterTime - beforeTime));
beforeTime = (int) System.currentTimeMillis();
for (int i = 0; i < circle; i++) oddNumbers.test(1000); // Boxing
afterTime = (int) System.currentTimeMillis();
System.out.println("BOXING : " + (afterTime - beforeTime));
}
}
100,000,000 번 연산할 때 Boxing과 Noboxing의 차이를 알고 싶어서 실험을 진행했는데
연산 횟수가 1억인거 치고는... 4밀리초 정도 차이가 났다.
생각보다 차이가 많이 나지않아서 시무룩...
'컴퓨터 상식' 카테고리의 다른 글
HTTP 버전 별 특징 (0) | 2020.11.15 |
---|---|
가상메모리에도 불구하고 OOM(OutOfMemory)이 발생하는 이유 (0) | 2020.11.11 |
크롬(Chrome)의 각 탭은 프로세스(Thread)다. (0) | 2020.11.05 |
REST API 정리 (0) | 2020.10.28 |
Ajax는 Restful 할 수 있는가. (0) | 2020.10.22 |