Offcanvas

개발자

그랄VM 21.2 출시··· 네이티브 이미지 및 컴파일러 사용편의성 개선

2021.07.29 Paul Krill  |  InfoWorld
오라클의 다중언어 런타임 ‘그랄VM(GraalVM)’의 최신 업데이트(v21.2)가 출시됐다. 개발팀에 따르면 이번 업데이트는 컴파일러 및 네이티브 이미지 사용편의성을 개선하고 특정 언어에 따라 향상된 기능을 제공한다. 
 
ⓒGetty Images

지난 7월 20일(현지 시각) 공개된 ‘그랄VM 21.2(GraalVM 21.2)’는 해당 프로젝트 웹사이트에서 커뮤니티 및 엔터프라이즈 에디션으로 제공된다. 

이번 업데이트는 컴파일러에 여러 최적화 기능을 추가했다. 먼저 엔터프라이즈 에디션을 살펴보면 카운트 루프의 루프 제한 분석(loop limit analysis)을 개선해 컴파일러도 루프 이전의 제어 흐름을 분석하여 유도 변수를 추론할 수 있게 됐다. 이렇게 하면 계산되지 않은 더 많은 루프를 고급 최적화를 위해 수정할 수 있다고 개발팀은 설명했다. 

또 일반적인 StringBuilder 패턴을 사용하는 코드 컴파일이 개선됐으며, JDK 11 기반 그랄VM 빌드에서 JDK 11의 압축 문자열을 인식하도록 해 이러한 패턴 지원도 강화했다. 

커뮤니티 에디션에서는 루프 내부에서 외부로 루프 불변 가드를 이동해 관련 워크로드를 개선하는 ‘스펙큐레이티브 가드 무브먼트(speculative guard movement)’ 최적화가 추가됐다. long 카운트 루프의 안전 지점(safe-point) 제거 메커니즘도 개선됐다. 

한편 쓰기를 루프 밖으로 이동시키는 ‘라이트 싱킹(write sinking)’ 최적화가 그랄VM 21.2에서 실험적 기능으로 제공된다. 순차 코드를 위한 새로운 SIMD(Single Instruction Multiple Data) 벡터화는 엔터프라이즈 에디션에서 사용할 수 있지만 아직 기본적으로 활성화되지 않았다고 개발팀은 덧붙였다. 

네이티브 이미지(Native Image)와 관련해서는 ‘제이유닛(Junit) 5’ 테스트 지원과 함께 ‘그래들(Gradle)’ 및 ‘메이븐(Maven)’ 플러그인이 지난 6월 출시돼 애플리케이션의 기본 이미지 빌드를 단순화하고 기본 이미지 모드에서 제이유닛 테스트를 실행하여 코드 작동 방식을 확인할 수 있다. 

또한 네이티브 이미지가 이제 이미지에서 불필요한 보안 공급자를 자동으로 제거한다. 연결할 수 있는 보안 공급자는 정적 분석에 의해 감지된다. 

이어서 개발팀은 그랄VM 21.2의 클래스 사전 정의 구현은 런타임에 Classloader.loadClass 호출을 지원한다고 전했다. 런타임에 로드해야 하는 클래스는 빌드 시 정적 분석에 사용할 수 있어야 폐쇄된 ‘실제’ 분석에 포함되며, 그 외에는 임의의 런타임에 클래스를 로드하는 코드 패턴이 이제 네이티브 이미지에서 작동한다. 또 그랄VM 21.2에서는 -H:+AllowVMInspection으로 빌드된 기본 이미지가 이제 자바로 작성된 JFR(Java Flight Recorder) 이벤트를 지원한다고 덧붙였다. 

이 밖에 그랄VM 21.2의 새로운 기능 및 개선 사항은 다음과 같다. 

• 트러플(Truffle) 언어 구현 프레임워크에서 새로운 컴파일 큐 휴리스틱을 지원한다. 이는 많은 워크로드에서 다중언어(polyglot) 런타임의 워밍업 시간을 개선한다. 

• 자바 온 트러플(Java on Truffle)용 핫스팟(HotSpot) 플러그인 API이 제공된다. 이를 사용하면 실행하고 있는 애플리케이션을 다시 시작할 필요 없이 개발 도중에 코드를 로드할 수 있다. 

• 자바스크립트 구현에는 새로운 set 메소드와 연산자 오버로딩(실험적 기능) 등이 추가됐다. 

• 루비의 경우 그랄VM 21.1는 이름별, 클래스별 가정을 사용한 루비 메소드 및 상수의 정확한 무효화를 포함해 호환성 및 성능을 개선했다. 

• 파이썬에서는 빠른 버전의 _pickle이 제공돼 더욱더 신속한 직렬화를 지원한다. 

• C++ 가상 호출은 언어 간 상호운용성을 통해 지원된다. 

• 웹어셈블리 호환성이 개선됐다.
 

ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.