2012-02-21 2 views
0

자바 네이티브 metod를 사용하여 성능을 얼마나 향상시킬 수 있습니까? 자바 네이티브 metods를 사용하면 얼마나 오래 성능을 향상시킬 수 있습니까?

같은 방법은 자바 네이티브 메소드로 구현되는 경우 50 % 이상 메소드가 실행 1,000 밀리 초를 얻는 경우에

전직은 다음 무엇을 평균 시간이 될 것입니다?

+4

다릅니다. JIT가 정적 C 컴파일러보다 더 똑똑하기 때문에 1000 밀리 또는 거의 더 많을 것입니다. 네이티브 메소드를 호출하면 비용이 발생합니다. 네이티브 메소드를 사용하는 것은 자바 프로그램의 성능을 최적화하는 좋은 방법이 아닙니다. –

+4

마일을 달리기 위해 10 분이 필요하다면 다른 속도로 다른 코스를 돌 때 얼마나 걸릴까요? – delnan

+0

장기간의 작업 (초당)이있는 경우 Java에서 최적화 할 수 있습니다. 프로파일 러를 사용하고 다중 스레드를 사용합니다. –

답변

0

일반적으로이 방법으로 수행 할 수있는 작업의 양에 따라 다릅니다. 두 개의 숫자를 요약하면 오버 헤드는 메서드 실행보다 훨씬 커집니다. 하지만 1000000을 실행하면!, 예를 들어, C++의 코드가 더 효과적이면 이길 수 있습니다. 하지만 Java의 JIT 컴파일러는 현재 매우 좋으며 동적으로 코드를 최적화 할 수 있습니다. 이는 C++ 컴파일러에서 수행 할 수없는 작업입니다. Java 코드를 최적화하면 JNI 오버 헤드로 인해 C++ 버전의 속도가 느려집니다.

관련 문제