JMH는 OpenJDK에서 만든 성능 측정용 library다
JMH를 설치하기 위해서는 Mercurial이라는 코드 저장소를 설치해야하는데(JMH가 Mercurial에 올라가 있기 때문) Mercurial은 해당 링크를 따라 설치하면 된다(간단) https://www.mercurial-scm.org/downloads
Mercurial 설치 이후 hg 명령어를 통해 JMH를 설치하는데(윈도우의 경우 설치시 환경 변수 등록 체크를 선택해서 귀찮게 환경변수를 추가하는 일이 없도록 하자)
hg clone http://hg.openjdk.java.net/code-tools/jmh/ jmh
을 실행해서 JMH를 설치하자.
JMH가 설치 되었다면, 메이븐을 이용해 빌드 해야한다.
mvn clean install -DskipTests=true
메이븐이 설치 되어 있지않다면 , https://maven.apache.org/download.cgi 에 가서 메이븐을 다운받고 환경변수 등록하도록 하자(윈도우 기준)
빌드가 완료 되었다면, 메이븐 로컬 저장소에 JMH 라이브러리가 등록 되었다.
이후
mvn archetype:generate -DinteractiveMode=false -DarchetypeGroupId=org.openjdk.jmh -DarchetypeArtifactId=jmh-java-benchmark-archetype -DgroupId=org.sample -DartifactId=test -Dversion=1.0
을 실행하라고 하는데.. 정확한 이유는 모르겟음. 벤치마크 프로젝트를 빌드해야한다고 한다.
이후 메이븐으로 빌드 시 JMH를 사용할 수 있음.
메이븐 pom.xml 에 JMH 관련 의존 관계와 플러그인 추가 방법은
해당 링크의 pom.xml 을 참고해서 본인 프로젝트의 pom.xml에 JMH 관련 내용을 정의하자
이후 JMH사용법에 맞춰 프로그램을 만들고 빌드하여 jar파일을 실행한다면 원하는 테스트 결과를 볼 수 있다.
JMH 사용법 샘플
책을 따라했는데 잘 안됨 ㅠ. 해보고 내가 성공한 방법으로 업데이트 예정
참고 : 자바성능 튜닝이야기[이상민 지음] , http://openjdk.java.net/projects/code-tools/jmh/