2013-02-06 2 views
-2

질문 : Java에서 코드를 2 개 이하로 작성하면 CPU주기가 더 빠른 이유는 무엇이며 그 이유는 무엇입니까? 누군가는 저에게 제 1 선택권은 cpu주기의 관점에서 정확하지 않다는 것을 말했다.CPU주기 측면에서 코드 리팩토링 JAVA

boolean flag = true; 

//OPTION ONE 
if(!flag) { 
    //error 
} else { 
    //got the answer 
} 

//OPTION TWO 
if(flag) { 
    //got the answer 
} else { 
    //error 
} 
+8

차이점이 무엇이든간에 (엄청난 수의 요소에 따라 달라질 수 있습니다) 응용 프로그램에서 중요 할 것이라고 생각할만한 이유가 있습니까? 코드를 가장 깨끗한 방법 *으로 작성하고 필요할 때까지 미세 최적화를 종료하십시오. –

+0

하지만 정확한 대답을 알고 싶습니다. – Pradeep

+2

정답은 없습니다. 그것은 당신이 사용하고있는 VM과 JIT가 (다른 것들 중에서) 수행하고있는 최적화 레벨에 달려 있습니다. –

답변

7

은 현대 JVM 구현에 실질적인 차이없습니다.

컴파일러는 올바른 일을 할 것입니다. 걱정할 필요가 없습니다. 사실 컴파일 타임에 플래그가 항상 true 값을 갖음을 입증 할 수 있다면 검사와 도달 할 수없는 분기를 완전히 제거 할 것입니다.

+0

부울 플래그 값이 서버에서 왔거나 런타임에 나온 경우 – Pradeep

+1

그러면 여전히 차이가 발생하지 않습니다. 이와 같은 최적화를 중지하십시오. –