OpenJDK와 Oracle간에 성능 차이가 있습니까?


1

오라클은 최근 JVM의 상업적 사용료를 부과하기로 결정했습니다.

내가 일하는 회사는 OpenJDK를 대신 사용하기 시작했으며 성능이 떨어지는 것을 제외하고는 모든 것이 잘 작동하고있는 것으로 나타났습니다.

우리의 서버는 리눅스 서버이며 우리의 성능 팀에 따르면,

우리는 대부분의 Java 호출에서 상당히 느린 것을 관찰했습니다. 우리는   로그를 조사하고 몇 가지 통화를 조사한 결과   모든 예외 나 오류, 느린 속도.

OpenJDK가 오라클 JVM보다 평균 속도가 느린 지 아닌지에 대한 다른 데이터가 있습니까?


이것은 회사가 변경하기 전에 비용 / 이익 분석의 일부로 실제로 살펴보아야 만하는 것입니다. 관련 사이트 / 사이트 간 유포 : stackoverflow.com/questions/31153584/...
Mokubai

@Mokubai - 응답 해 주셔서 감사합니다. 저는 그것을 보았습니다. 그러나 더 공식적인 답변을 찾고 있습니다. 확실히 합법적으로 공식적인 사람이 벤치 마크 비교를해야합니다.
Brad Parks

FromJava 11, 차이점은 설치 프로그램이며 오라클은 6 개월 후 가입자에게 무료로 제공되기 전에 지원을 제공 할 것입니다.
Peter Lawrey

답변:


2

이 발췌문에서 흥미로운 것을 발견 할 수 있습니다. 오라클 블로그 게시물 :

: OpenJDK에있는 소스 코드의 차이점은 무엇입니까?   저장소 및 Oracle JDK를 빌드하는 데 사용하는 코드는 무엇입니까?

에이 : Oracle JDK 릴리스 빌드를위한 빌드 프로세스   OpenJDK 7에서는 배포 코드와 같은 몇 조각 만 추가하여,   오라클의 Java 플러그인 및 Java 구현을 포함합니다.   WebStart는 물론 폐쇄적 인 소스 타사 구성 요소 인   그래픽 래스터 라이저, 일부 오픈 소스 타사 구성 요소   코뿔소와 여기 저기에있는 몇 개의 조각들   설명서 또는 제 3 자 글꼴. 앞으로 우리의 의도는   우리가 고려해야 할 것을 제외한 Oracle JDK의 모든 부분을 오픈 소스   JRockit Mission Control과 같은 상용 기능 (아직 제공되지 않음)   Oracle JDK에서), 제 3 자 구성 요소를 다음으로 대체하십시오.   오픈 소스 대안을 통해 코드 간 패리티를 더 가깝게 만듭니다.   기지.

오라클은이 두 가지를 모두 생성해야하므로, 그 고객은 지불해야 할 좋은 이유가있을 것이며, 성과는 분명합니다. 방법.

나는 OpenJDK가 통역 전용 JVM이라고 믿는다. 이것은 포트가 더 쉽습니다. 아키텍처 고유의 어셈블리 코드는 없지만, 불행하게도, 성능이 떨어집니다.

OracleJDK는 플랫폼의 부동 소수점 ABI를 활용한다고 생각합니다. (RP1의 소프트 플로트 및 RP2의 하드 플로트). 또한 플랫폼 별 코드가 더 빨라질 수 있습니다.

에이 JIT (Just-In-Time) 컴파일러 상어 (Shark)라고 불리는 두 곳 모두에 한 번 포함되었다. OpenJDK에 포함되어 있다면 지식이 없습니다. Wikipedia OpenJDK JIT는 언급하지 않았고 나는이 낡고 문제가되는 이슈를 발견했다. Shark 컴파일러 제거 . 하나, Wikipedia Java 버전 기록 JIT가 포함됩니다.

OracleJDK에 현재 플랫폼 별 JIT 컴파일러가 포함되어있는 경우, 하지만 OpenJDK는 성능 차이를 잘 설명해 줄 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.