GraalVM
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
GraalVM은 썬 마이크로시스템즈 랩스에서 시작된 Java 가상 머신 및 런타임으로, Java, Scala, Kotlin 등 JVM 기반 언어의 실행을 지원한다. GraalVM 컴파일러인 Graal은 JIT 컴파일러로, 기존 컴파일러를 대체하거나 보완하며, 네이티브 이미지 기술을 통해 실행 바이너리를 생성하여 시작 및 실행 시간을 단축시킨다. Truffle 언어 구현 프레임워크를 기반으로 여러 언어를 지원하며, 다국어 임베딩을 통해 Java 코드 내에서 다른 언어의 코드를 통합할 수 있다. 디즈니, 페이스북, 트위터, 골드만삭스 등 다양한 기업에서 사용되며, 국내에서는 네이버, 카카오 등 IT 기업과 핀테크 분야에서 활용 사례가 증가하고 있다.
더 읽어볼만한 페이지
- 자바 컴파일러 - GCJ
GCJ는 자바 코드를 네이티브 코드로 컴파일하는 GCC의 구성 요소였으며, CNI 프레임워크를 통해 자바 코드와 C++ 코드를 상호 호출할 수 있도록 지원했다. - 자바 컴파일러 - Javac
Javac은 자바 소스 코드를 바이트 코드로 컴파일하는 명령줄 컴파일러이며, GNU Classpath는 자유 자바 구현체로서 Javac 컴파일 및 실행을 지원하고, 썬 마이크로시스템즈는 자바를 OpenJDK로 전환하는 데 기여했다. - 자바 가상 머신 - 핫스팟 (가상 머신)
핫스팟은 오라클의 자바 런타임 환경에 포함된 가상 머신으로, 반복되는 코드 영역을 최적화하는 JIT 컴파일러이며, 1999년 출시 후 GNU GPL 라이선스로 사용 가능하다. - 자바 가상 머신 - 안드로이드 런타임
안드로이드 런타임(ART)은 안드로이드 운영 체제에서 애플리케이션 실행을 위한 런타임 환경이며, AOT 컴파일을 통해 실행 효율성을 높이고 전력 소비를 줄이는 장점을 가진다. - 오라클 소프트웨어 - 자바 데스크톱 시스템
- 오라클 소프트웨어 - 스타오피스
스타오피스는 1985년 스타라이터에서 시작하여 다양한 플랫폼으로 확장되고 썬 마이크로시스템즈에 인수되어 OpenOffice.org의 기반이 되었던 오피스 스위트였으나, 오라클에 인수 후 오라클 오픈 오피스로 변경되었다가 판매가 중단되었으며, 워드 프로세서, 스프레드시트, 프레젠테이션 프로그램 등을 포함하고 있었다.
GraalVM - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
종류 | 자바 동적 컴파일러 및 런타임 |
개발사 | 오라클 |
최신 배포 버전 | GraalVM for JDK 23 |
최신 배포 날짜 | 2024년 9월 17일 |
운영체제 | 리눅스, 윈도우, macOS |
플랫폼 | 자바 가상 머신 |
프로그래밍 언어 | 자바 |
라이선스 | 커뮤니티 에디션: GPLv2; 오라클 GraalVM: GFTC |
웹사이트 | GraalVM 공식 웹사이트 |
2. 역사
GraalVM은 썬 마이크로시스템즈 랩스(현재 오라클 랩스)의 맥신 가상 머신 프로젝트에서 시작되었다. 초기 목표는 Java 자체로 Java 가상 머신을 작성하여 C++ 개발의 문제점을 해결하고 메타 순환 최적화의 이점을 얻는 것이었다. 이후 프로젝트는 컴파일러에 초점을 맞추고 HotSpot 런타임에 연결하는 방향으로 전환되었다. GraalVM 컴파일러인 Graal은 HotSpot 클라이언트 컴파일러("C1") 코드를 Java로 트랜스파일레이션하여 시작되었으며,[9] 이후 HotSpot의 서버 컴파일러("C2")를 대체하는 데 사용되었다.[10]
Java SE 9부터 15까지 Graal은 OpenJDK에 포함되어 실험적인 AOT(Ahead-of-Time) 컴파일을 제공했다. Java SE 16부터 GraalVM은 독립 실행형 릴리스로 제공되며, 네이티브 이미지 도구를 통해 특정 운영 체제 및 아키텍처용 바이너리를 생성할 수 있게 되었다.
2. 1. 릴리스
GraalVM은 다음 세 가지 에디션으로 제공된다.- Oracle GraalVM (GFTC 라이선스)
- Oracle GraalVM Enterprise Edition (OTN 라이선스)
- Community Edition (오픈 소스 라이선스)
오라클은 2019년 5월 8일에 ''Oracle GraalVM Enterprise Edition'' 출시를 발표했고, 2023년 6월 13일에는 새로운 GraalVM 자유 이용 약관(GFTC) 라이선스를 도입한 ''Oracle GraalVM''을 출시했다.[11] GraalVM은 x64 및 AArch64 CPU의 Linux 및 macOS 플랫폼과 Windows x64 플랫폼에서 기본 JDK를 대체할 수 있다.
릴리스 | 날짜 | Java 버전 | 기능 |
---|---|---|---|
GraalVM 19.0.0 | 2019-05-09 | OpenJDK 1.8.0_212 | Linux 및 macOS x64 플랫폼용 첫 번째 프로덕션 릴리스. Windows 가용성은 개발 중이었으며 얼리 어답터 기능으로 출시. |
GraalVM 19.1.0 | 2019-07-02 | OpenJDK 1.8.0_212 | GraalVM Native Image에서 생성된 공유 라이브러리인 `libgraal`을 도입하여 컴파일 속도를 획기적으로 향상시킨 Graal 컴파일러의 사전 컴파일된 바이너리를 포함. Native Image에 대한 프로파일 기반 최적화(PGO) 구현 개선. |
GraalVM 19.2.0 | 2019-08-20 | OpenJDK 1.8.0_222 | GraalVM과 함께 제공되는 LLVM 툴체인을 사용하여 네이티브 애플리케이션을 컴파일하는 예비 기능 추가. GraalVM Native Image는 처리량 성능을 개선하고 프로파일 기반 최적화(PGO)를 위한 데이터 수집 프로세스를 단순화. 폴리글롯 런타임에서 사용자 정의 폴리글롯 액세스가 구현되어 폴리글롯 바인딩에 대한 액세스를 제어하고 언어 간 데이터 공유를 제어. Java Flight Recorder(JFR) 기능의 미리 보기가 VisualVM용 플러그인으로 출시. |
GraalVM 19.3.0 | 2019-11-19 | Oracle JDK 1.8.0_231, 11.0.5 | 최초의 GraalVM Java SE 11 기반 빌드 발표. 새로운 플랫폼인 Linux AArch64 및 실험적인 Windows x64 추가. Graal 컴파일러 및 Truffle API 코드를 애플리케이션 코드로부터 격리하기 위해 모듈 캡슐화를 추가. GraalVM Native Image는 수동 대체 대신 JDK 네이티브 코드를 사용하도록 전환. [https://graalvm.github.io/native-build-tools/latest/maven-plugin.html Native Image Maven Plugin]이 처음 소개. GraalVM Enterprise 19.3.0은 첫 번째 계획된 LTS 릴리스. |
GraalVM 20.0.0 | 2020-02-18 | Oracle JDK 1.8.0_241, 11.0.6 | Windows 호환성 개선, 향상된 Native Image 기술, 개선된 툴링, 컴파일러 및 호스팅 언어의 많은 변경 사항 포함. |
GraalVM 20.1.0 | 2020-05-19 | Oracle JDK 1.8.0_251, 11.0.7 | 많은 구성 요소에 대한 여러 개선 사항 포함. 성능 향상 외에도 Native Image의 사용성 수정 사항 게시. JavaScript 엔진은 기본적으로 모든 ECMAScript 2020 모드 기능을 구현. JavaScript 및 Python에서 사용되는 정규식 엔진(TRegex)은 모든 식을 구현. Ruby (TruffleRuby)는 네이티브 젬과의 호환성 개선. |
GraalVM 20.2.0 | 2020-08-18 | Oracle JDK 8u261, 11.0.8 | JIT 컴파일에 대한 새로운 부분 루프 언롤링 최적화 도입. Native Image가 더 작은 GC 일시 중지를 필요로 하는 워크로드에 대한 G1GC와 유사한 가비지 수집을 개선. Native Image는 `libc`를 제외한 모든 것을 정적으로 링크하는 "대부분 정적" 실행 파일을 생성하도록 확장. |
GraalVM 20.3.0 | 2020-11-17 | Oracle JDK 1.8.0_271, 11.0.9 | Oracle GraalVM Enterprise Edition의 첫 번째 LTS Enterprise 버전이자 2020년의 최종 릴리스. GraalVM LLVM 런타임에서 코드 공유를 제공하여 단일 엔진 내에서 여러 컨텍스트 간에 공통 비트코드 라이브러리의 추상 구문 트리(AST) 및 컴파일된 코드를 공유. 실험적인 "샌드박스 리소스 제한" 기능이 Oracle GraalVM Enterprise Edition에 추가. |
GraalVM 21.0.0 | 2021-01-19 | Oracle JDK 1.8.0_281,11.0.10 | Truffle 인터프리터를 기반으로 하는 Java 가상 머신 구현인 Java on Truffle 도입. GraalVM Native Image는 Linux 플랫폼에 대한 직렬화 기능, AWT 및 Swing 구현 추가. GraalVM Updater는 로컬 GraalVM 설치를 업데이트/업그레이드할 수 있도록 개선. |
GraalVM 21.1.0 | 2021-04-20 | Oracle JDK 1.8.0_291, 11.0.11, 16.0.1 | Java 16 (실험적) 기능 추가, Linux AArch64 호환성 개선. GraalVM Native Image는 여러 아티팩트를 생성하기 위해 빌드에 대한 보고를 활성화했으며 Windows와의 호환성을 개선. 멀티 티어 컴파일은 폴리글롯 런타임(GraalVM 20.3에서 처음 도입됨)에 대해 기본적으로 활성화되었으며, 최대 힙 메모리를 지정하는 새로운 샌드박스 옵션 `—sandbox.MaxHeapMemory= |
GraalVM 21.2.0 | 2021-07-20 | Oracle JDK 1.8.0_301, 11.0.12, 16.0.2 | GraalVM 팀은 순차적 코드에 대한 새로운 SIMD(단일 명령 다중 데이터) 벡터화 최적화와 Graal 컴파일러에 대한 비 계산 루프에 대한 스트립 마이닝 최적화 추가. 최초 [https://medium.com/graalvm/gradle-and-maven-plugins-for-native-image-with-initial-junit-testing-support-dde00a8caf0b JUnit 5 테스트 기능]이 포함된 GraalVM Native Image용 새로운 공식 Gradle 및 Maven 플러그인과 GraalVM Native Image의 Java SE 11에 대한 기본 Java Flight Recorder(JFR) 기능 및 가비지 수집기 없이 실행 파일을 빌드하는 "epsilon" GC 추가. Java on Truffle은 실행 중인 애플리케이션을 다시 시작하지 않고 코드를 다시 로드하기 위한 HotSwap 플러그인 API 도입. |
GraalVM 21.3.0 | 2021-10-19 | Oracle JDK 1.8.0_311, 11.0.13, 17.0.1 | Java SE 17용 GraalVM 배포판 다운로드 가능. 실행 불가능한 경로를 제거하기 위한 새로운 실행 불가능한 경로 상관 관계 최적화 추가, JIT 스프레이 공격으로부터 방어하기 위한 Constant Blinding 구현 제공. GraalVM Native Image는 쿼리된 및 호출된 반사 메서드를 구별하는 반사 메타데이터 수집 개선, Java Platform Module System에 대한 초기 호환성 추가, 실행 파일 크기 및 빌드 시간을 줄이기 위한 여러 새로운 최적화 추가. |
GraalVM 22.0.0 | 2022-01-18 | Oracle JDK 11.0.14, 17.0.2 | GraalVM은 Java SE 8에 대한 지원 중단, Java SE 12, 13, 14, 15 및 16에 대한 지원 제거. 진행률 표시줄과 더 많은 요약 정보를 포함하는 GraalVM Native Image에 대한 새로운 사용자 친화적인 빌드 출력 제공. Java Platform Module System과의 호환성 개선(`—add-reads` 및 `—add-modules` 옵션 추가). Graal 컴파일러에 대한 새로운 루프 회전 최적화는 더 많은 비 계산 루프를 계산 루프로 변환. |
GraalVM 22.1.0 | 2022-04-19 | Oracle JDK 11.0.15, 17.0.3 | Apple Silicon, `darwin-aarch64`에 대한 미리 보기 빌드 도입. GraalVM Native Image는 Tracing 에이전트를 사용하여 조건부 구성을 생성하는 새로운 모드와 개발 빌드 생성 시간을 줄이기 위한 새로운 “빠른 빌드” 모드인 `-Ob` 추가. Truffle 프레임워크는 Truffle 언어 간에 공유되는 String 유형의 구현인 `TruffleStrings` 도입. |
GraalVM 22.2.0 | 2022-07-19 | Oracle JDK 11.0.16, 17.0.4 | 더 작은 JDK 크기, 향상된 메모리 사용량 및 더 나은 라이브러리 호환성. Oracle GraalVM 팀은 Spring, Micronaut 및 Quarkus 팀과 함께 GraalVM Native Image를 지원하지 않는 라이브러리에 대한 구성을 제공하는 중앙 집중식 공간인 [https://github.com/oracle/graalvm-reachability-metadata GraalVM Reachability Metadata Repository] 도입. GraalVM Native Image는 Software Bill of Materials(SBOM) 구현, 기본적으로 모듈 경로에서 실행. JavaScript, LLVM 런타임 및 VisualVM은 주 패키지에서 분리되어 설치 가능한 구성 요소로 제공. |
GraalVM 22.3.0 | 2022-10-18 | Oracle JDK 11.0.17, 17.0.5, 19.0.1 | Java SE 11 지원 마지막 릴리스, 올해의 마지막 기능 릴리스. GraalVM Enterprise 22.3.0은 18개월, GraalVM Community는 12개월 동안 지원 예정. Java SE 19 빌드를 제공, 최신 Java SE 18 및 Java SE 19 기능 활용가능. GraalVM Native Image는 [https://openjdk.org/jeps/425 OpenJDK Project Loom 가상 스레드(JEP 425)] 구현. `jlink` 구현; 여러 새로운 모니터링 기능 제공. GraalPython 프로젝트는 GraalPy로 이름 변경, 실행기는 `graalpython`에서 `graalpy`로 변경. |
JDK 17용 GraalVM | 2023-06-13 | Oracle JDK 17.0.7 | 새로운 배포판 Oracle GraalVM 도입, 새로운 [https://blogs.oracle.com/java/post/graalvm-free-license GraalVM 자유 이용 약관 라이선스] 적용. 성능 개선, ZGC 가비지 수집기 구현. GraalVM Native Image는 [https://www.graalvm.org/jdk20/reference-manual/native-image/overview/Bundles/ Native Image 번들 기능] 도입, 머신 러닝(ML) 기반 프로파일 추론, 즉 그래프 분기의 제어 흐름을 예측하는 사전 훈련된 머신 러닝 모델 추가. GraalVM Native Image는 Windows에서 빌드 환경 자동 설정(x64 네이티브 도구 명령 프롬프트 실행 불필요). |
2023-06-13 | Oracle JDK 20.0.1 | ||
JDK 21용 GraalVM | 2023-09-19 | Oracle JDK 21 OpenJDK 21 | Project Loom의 가상 스레드와 같은 모든 Java SE 21 기능 GraalVM에 제공. 성능 개선으로 사전 컴파일된 Java 애플리케이션은 HotSpot과 동일한 최고 성능으로 실행. GraalVM Native Image에서 Linux AArch64(Linux x64 외에도)에서 [https://docs.oracle.com/javase/9/gctuning/garbage-first-garbage-collector.htm Garbage First Garbage Collector](G1 GC) 활성화. GraalVM SDK는 리팩토링되어 4개의 모듈로 분할. [https://medium.com/graalvm/truffle-unchained-13887b77b62c 언어 런타임은 GraalVM JDK에서 "분리"되었으며] Maven Central에서 Java 라이브러리로 제공. JDK 21용 Oracle GraalVM은 현재 LTS 릴리스. |
JDK 22용 GraalVM | 2023-03-19 | Oracle JDK 22 OpenJDK 22 | |
JDK 23용 GraalVM | 2024-09-17 | Oracle JDK 23 OpenJDK 23 |
GraalVM은 일반적인 자바 가상 머신(OpenJDK)의 구성 요소와 함께 제공되며, 추가적으로 다음과 같은 구성 요소를 포함한다.
3. 구성 요소
3. 1. GraalVM 컴파일러
GraalVM 컴파일러인 Graal은 최신 Java (JIT) 컴파일러이다. 이는 기존 컴파일러(HotSpot의 C1/C2)를 보완하거나 대체한다. 기존 컴파일러와 달리 Graal은 모듈형, 유지 관리 가능하며 확장 가능한 방식으로 Java 자체로 작성되었다. 이는 GPL 버전 2 및 classpath exception 하에 출시되었다.[9]
3. 2. GraalVM 네이티브 이미지
GraalVM 네이티브 이미지는 클래스 파일의 실행 바이너리를 생성하는 AOT(Ahead-of-Time) 컴파일 기술이다.[12] 이는 얼리 어답터 기술로 출시되었으며, 프로덕션 준비가 되었지만 향후 릴리스에서 이전 버전과의 호환성이 없는 업데이트가 포함될 수 있음을 의미한다.
이 기능은 JVM 기반 언어를 지원하지만, GraalVM 위에 Truffle 프레임워크로 개발된 동적 언어를 선택적으로 실행할 수 있다. 실행 파일은 JVM에서 실행되지 않으며, Substrate VM이라고 하는 최소한의 맞춤형 가상 머신에서 스레드 스케줄링 또는 GC와 같은 필요한 런타임 구성 요소를 사용한다. 결과 네이티브 바이너리에 애플리케이션 클래스, JDK 종속성 및 라이브러리가 이미 포함되어 있으므로 시작 및 실행 시간이 크게 단축된다.
GraalVM 네이티브 이미지는 Fn, Gluon, Helidon, Micronaut, Picocli, Quarkus, Vert.x 및 Spring Boot 자바 프레임워크에서 공식적으로 지원된다.[13][14]
3. 3. Truffle 언어 구현 프레임워크
오라클 랩스는 GraalVM을 기반으로 언어를 구현할 수 있게 해주는 "Truffle"이라는 추상 구문 트리(AST) 인터프리터를 개발했다.[22][23] C를 비롯한 여러 언어가 Truffle로 구현되었으며, GCC 및 Clang과 거의 동일한 속도를 낸다고 주장한다.[24]
Truffle 프레임워크와 이에 종속된 GraalVM SDK는 저작권 등의 문제없이 자유롭게 사용될 수 있도록 범용 허용 라이선스 버전 1.0으로 배포된다.
3. 4. 계측 기반 도구 지원
GraalVM 생태계의 주요 장점은 언어 독립적이고 완벽하게 동적인 계측 지원이 VM 런타임에 직접 내장되어 있다는 점이다.[25][26] 실행 이벤트는 완전히 최적화된 코드에서 매우 낮은 오버헤드로 API 클라이언트에서 캡처할 수 있다.
핵심 GraalVM 설치에는 계측 및 기타 VM 지원을 기반으로 하는 언어 독립적인 디버거, 프로파일러, 힙 뷰어 등이 제공된다.[27] GraalVM에는 Chrome Inspector 원격 디버깅 프로토콜의 백엔드 구현도 포함되어 있다.[28] 원래 자바스크립트 디버깅을 위해 설계되었지만, 브라우저에서 모든 GraalVM 언어를 디버깅하는 데 사용할 수 있다.
4. 언어 및 런타임 지원
GraalVM은 자바 생태계에서 작성되었으며, 이를 위해 설계되었다. 자바, 스칼라, 코틀린 등과 같이 자바 바이트코드 형식으로 컴파일되는 모든 언어로 작성된 애플리케이션을 실행할 수 있다.
Truffle Language Implementation Framework를 기반으로, GraalVM과 함께 사용하도록 설계된 추가적인 언어들은 다음과 같다.
- GraalJS:[30] ECMAScript 2023을 준수하는 자바스크립트 런타임으로, Node.js를 지원한다.
- GraalPy:[31] 파이썬 3 언어 구현체
- GraalVM LLVM 런타임(''Sulong''):[32] LLVM 비트코드 인터프리터 구현체
- GraalWasm:[33][34] WebAssembly 구현체
- TruffleRuby:[35] 루비 언어 구현체로, Ruby on Rails에 대한 예비 지원 제공
- FastR:[36] R 언어 구현체
GraalVM 사용자는 추가적인 언어 지원을 구현할 수 있다. 주목할 만한 제3자 언어 구현체로는 grCuda,[37] SOMns,[38] TruffleSqueak,[39][40] 및 Yona가 있다.[41]
5. 다국어 임베딩
GraalVM의 또 다른 장점은 게스트 언어의 코드를 Java에 임베딩하고 "다국어" 애플리케이션을 작성할 수 있다는 것이다.[8] 개발자는 Java 소스 코드 내에 JavaScript, Python 또는 기타 지원되는 언어를 통합하여 해당 언어의 특징적인 이점을 누릴 수 있다. 호스트 Java 애플리케이션과 게스트 언어는 동일한 메모리 공간에서 데이터를 주고받는다. 이는 Truffle 언어 구현 프레임워크[29]와 GraalVM 다국어 API 덕분이다. 다음은 Java에서 Python으로 정의된 함수를 호출하는 예이다:
try (Context context = Context.create()) {
Value function = context.eval("python", "lambda x: x + 1");
assert function.canExecute();
int x = function.execute(41).asInt();
assert x == 42;
}
Python 함수는 제공된 값을 1 증가시킨 다음 호스트 언어로 반환한다. Java에서 보안을 위해 먼저 `canExecute()` 호출을 통해 변수 function을 실행할 수 있는지 확인한 다음 `execute()` 호출로 함수를 호출한다. 더 많은 예제는 https://www.graalvm.org/latest/reference-manual/embed-languages/ Embedding Languages reference documentation에서 확인할 수 있다.
6. 채택
참조
[1]
웹사이트
Downloads
https://www.graalvm.[...]
[2]
웹사이트
GraalVM FAQ
https://web.archive.[...]
2018-04-25
[3]
웹사이트
graal/README.md
https://github.com/o[...]
2018-04-25
[4]
웹사이트
For Building Programs That Run Faster Anywhere: Oracle GraalVM Enterprise Edition
https://blogs.oracle[...]
Oracle Corporation
2022-01-21
[5]
웹사이트
GraalVM for JDK 22 Release Notes
https://www.graalvm.[...]
Oracle Corporation
2024-03-26
[6]
웹사이트
Why GraalVM
https://www.graalvm.[...]
2018-04-25
[7]
웹사이트
Graal : Un compilateur dynamique pour Java
http://www.lemondein[...]
lemondeinformatique.fr
2012-02-13
[8]
웹사이트
Reference Manual for Polyglot Applications
https://web.archive.[...]
2018-04-25
[9]
웹사이트
"Meta-Circularity is Near", GraalVM, Truffle--airhacks.fm podcast : Adam Bien's Weblog
https://adambien.blo[...]
[10]
웹사이트
OpenJDK: Graal
https://openjdk.org/[...]
[11]
문서
https://www.oracle.c[...]
2022-09
[12]
웹사이트
Native Images
https://web.archive.[...]
[13]
웹사이트
GraalVM Open Source Ecosystem
https://www.graalvm.[...]
Oracle Corporation
2019-09-11
[14]
웹사이트
Spring Native Image documentation
https://docs.spring.[...]
Spring Framework
2021-10-26
[15]
웹사이트
Ahead-of-Time (AOT) Compilation May Come to OpenJDK HotSpot in Java 9
https://www.infoq.co[...]
InfoQ.com
2016-10-01
[16]
웹사이트
JDK-8166089: Ahead-of-Time Compilation
https://bugs.openjdk[...]
Oracle Corporation
2016-09-14
[17]
웹사이트
JEP 295: Ahead-of-Time Compilation
http://openjdk.java.[...]
Oracle Corporation
2016-10-13
[18]
웹사이트
JEP 317: Experimental Java-Based JIT Compiler
http://openjdk.java.[...]
Oracle Corporation
2017-10-20
[19]
웹사이트
OpenJDK: Graal
https://openjdk.java[...]
[20]
웹사이트
"[JDK-8232118] Add JVM option to enable JVMCI compilers in product mode"
https://bugs.openjdk[...]
[21]
웹사이트
GraalVM: Reference Manual: Native Image
https://www.graalvm.[...]
[22]
웹사이트
Truffle: A Self-Optimizing Runtime System
http://wiki.jvmlangs[...]
Oracle Corporation
2013-08-23
[23]
웹사이트
Truffle served in a Holy Graal: Graal and Truffle for polyglot language interpretation on the JVM
https://zeroturnarou[...]
2017-12-05
[24]
웹사이트
Truffle: Languages and Material
https://gist.github.[...]
[25]
간행물
Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools
2018-03-09
[26]
웹사이트
Getting started with Instruments in GraalVM
https://www.graalvm.[...]
2019-04-08
[27]
웹사이트
GraalVM Debugging and Monitoring Tools
https://web.archive.[...]
2019-04-08
[28]
웹사이트
Chrome DevTools
https://developers.g[...]
2019-04-08
[29]
웹사이트
Truffle: A Self-Optimizing Runtime System
http://wiki.jvmlangs[...]
Oracle Corporation
2013-08-23
[30]
Github
GraalVM JavaScript github repository
http://www.github.co[...]
[31]
Github
GraalPython github repository
https://github.com/g[...]
[32]
Github
GraalVM LLVM Runtime github repository
https://github.com/o[...]
[33]
웹사이트
GraalWasm github repository
https://github.com/o[...]
[34]
웹사이트
Announcing GraalWasm — a WebAssembly engine in GraalVM
https://medium.com/g[...]
2019-12-02
[35]
Github
TruffleRuby github repository
https://github.com/o[...]
[36]
Github
GraalVM FastR github repository
https://github.com/o[...]
[37]
Github
grCuda GitHub repository
https://github.com/N[...]
[38]
Github
SOMns GitHub repository
https://github.com/s[...]
[39]
Github
TruffleSqueak GitHub repository
https://github.com/h[...]
[40]
서적
Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes - MPLR 2019
ACM Digital Library
2020-11-08
[41]
문서
Yona Language
https://yona-lang.or[...]
[42]
웹사이트
Improving Developer Productivity at Disney with Serverless and Open Source {{!}} AWS Open Source Blog
https://aws.amazon.c[...]
2023-07-05
[43]
웹사이트
GraalVM at Facebook
https://medium.com/g[...]
2021-07-10
[44]
웹사이트
How Oracle GraalVM Supercharged Twitter's Microservices Platform
https://www.oracle.c[...]
[45]
웹사이트
One VM to Rule Them All? Lessons Learned with GraalVM {{!}} Curry On London! 2019
https://www.curry-on[...]
2023-07-05
[46]
웹인용
Downloads
https://www.graalvm.[...]
[47]
웹인용
GraalVM FAQ
http://www.graalvm.o[...]
2018-04-25
[48]
웹인용
graal/README.md
https://github.com/o[...]
2018-04-25
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com