RedHat 推出 Mandrel:使 Java 本地化
RedHat 推出了一個新的 Java 發行版,Mandrel,它可以直接將 Java 應用程序編譯成本機代碼,從而可以在較低的內存中更快地啟動。
Mandrel 是一個基于 Oracle 的GraalVM,由社區支持的額外的構建,兩者只是略有不同。RedHat 的高級工程總監 Mark Little 解釋說:“最好將 Mandrel 描述成一個特別封裝了 GraalVM 原生鏡像的常規 OpenJDK 的發行版。”RedHat 推出 Mandrel 背后的主要驅動因素是通過其“超音速亞原子 Java”來驅動 Quarkus 框架的速度和效率。Quarkus 是一個為云供應商提供快速重載本地開發以及容器化或無服務器分發的框架。自 2019 年首次推出以來,Quarkus 一直強調其可以構建啟動速度更快、云運營成本和資源更低的本地可執行文件的能力。
GraalVM 的負責人 Thomas Wuerthinger,在回應 Mandrel 發布時說:“感謝 @maxandersen 和同事們積極參與 @graalvmcommunity!”
Andres Dinn 在 Quarkus Insights 系列視頻的第 7 集中解釋了 GraalVM 和 Mandrel 的作用。該視頻介紹了用法以及各種技術細節,并提出了一些問題,比如即時編譯和提前編譯之間的區別。 Dinn 解釋了它們各自的優點和缺點以及最適合使用它們的地方。
Mandrel 的 GitHub 倉庫是 GraalVM 的一個分支,但它尚未提供二進制發行版本。但是用戶可以按照提供的說明自行編譯 JDK。
在性能基準測試方面,GraalVM 的啟動時間快了 50 倍,內存使用減少了 5 倍。測試是針對 Java 的 HotSpot 模式使用 Quarkus 框架的早期版本完成的。雖然這一改進需要額外的提前編譯時間,但它可以與 Quarkus 的原生 Lambda和Azure 函數部署一起使用。
James Ward 還提供了其他更多的技巧和竅門,他已經用本機編譯的形式對多個框架進行了基準測試。Ward 介紹了性能改進的好處以及一些難題,比如依賴反射的應用程序。”這給 GraalVM 原生鏡像帶來了問題,因為反射是在運行時發生的,這使得 AOT 編譯器很難找出執行路徑。“Quarkus 的主頁直接受益于此:RAM 從 73MB 降到 12MB(降低了 83%),首次響應時間從 0.943 降為 0.016 秒(降低了 98%)。
開發人員現在可以在自己的構建中使用 Mandrel,或者利用 GraalVM 社區版或任何 JDK 11+ 發行版。感興趣的開發人員也可以使用這些工具來參加Quarkus 黑客馬拉松。
原文鏈接:https://www.infoq.com/news/2020/07/mandrel-graalvm/
總結
以上是生活随笔為你收集整理的RedHat 推出 Mandrel:使 Java 本地化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 滴答滴答滴是什么歌啊
- 下一篇: 游戏衍生内容授权与商业化创新,腾讯做了什