更快更省:帶有新AOT引擎的Spring Native 0.11 釋出 - spring.io
與 Spring Native 0.10 相比,Spring Native 0.11 平均減少了20%到26% 的記憶體佔用空間!Spring Native 0.11 的啟動時間快了16%到35%!
我很高興代表團隊和所有做出貢獻的人宣佈Spring Native 0.11的釋出,它為 Spring Boot 2.6 提供了原生支援。這個雄心勃勃的版本是 Spring 團隊五個月辛勤工作的結果,他們一直致力於全新的架構,將 Spring 對使用 GraalVM 建立原生可執行檔案的支援提升到一個新的水平。你已經可以在start.spring.io上嘗試了!
最大的變化無疑是引入了新的 AOT 引擎,該引擎在構建時對 Spring 應用程式進行深入分析,以轉換和優化應用程式並生成所需的 GraalVM 本機配置。這些轉換由 Maven 和 Gradle Spring AOT 外掛執行。
深入瞭解一下,AOT 引擎會在構建時評估條件,以生成優化的應用程式上下文和專門為您的應用程式設計的 Spring 工廠(Spring Boot 背後的外掛系統)。在實踐中,這意味著:
- 在執行時執行的 Spring 基礎設施更少
- 在執行時評估的條件更少
- 更少反射
減少記憶體佔用
AOT 引擎的一個關鍵優勢是它支援本機可執行檔案的較小記憶體佔用,因為本機配置更準確,需要的反射更少,並且在執行時需要更少的 Spring 基礎設施。
與 Spring Native 0.10 相比,Spring Native 0.11 平均減少了20%到26% 的佔用空間!
更快的啟動
與 0.10 相比,Spring Native 0.11 的啟動時間快了16%到35%,因為某些處理已從執行時轉移到構建時。由於我們無法在本次小版本更新中對 Spring Boot 和 Spring Framework 的內部架構進行微調,因此仍有改進的空間。
JVM 上的 AOT
對將在 JVM 上執行的應用程式執行 AOT 轉換有兩個主要好處。
例如,第一個是能夠輕鬆除錯將在 IDE 中的 JVM(主應用程式或測試)本機上執行的程式碼。
第二個優勢是更高的效率。目前,它的佔據空間減少了大約4%到17%。
Bellsoft Liberica NIK
Bellsoft Liberica Native Image Kit (NIK) 是一個基於GraalVM 開源儲存庫和 Liberica JDK的原生映象編譯器發行版。從 Spring Native 0.11 開始,它預設用於 Buildpacks 原生支援,這與 JDK 端一致,預設使用 Liberica JDK。它也可以通過使用其SDKMAN整合或通過下載和安裝在本地安裝。
今年早些時候,該團隊與 BellSoft 一起宣佈,使用 Liberica Native Image Kit 的 VMware 客戶可以將他們的 Spring 應用程式作為本機可執行檔案執行,並確信它們得到了完全支援。
Spring Boot 3 一流的原生支援
Spring Native 0.11 實現了為 Spring Boot 提供成熟的原生選項的目標。Spring 團隊現在可以專注於下一個主要步驟:將原生支援作為 Spring Framework 6、Spring Boot 3 和相關組合專案的一部分進行改進。
AOT 和原生將成為 Spring Boot 3 和 Spring Framework 6 的主旋律。
計劃在Spring Boot 3 里程碑 2中開始提供開箱即用的 GraalVM 本機支援,目標是 2022 年 3 月下旬,利用我們在 Spring Native 工作中學到的所有知識。一般可用性計劃於 2022 年末推出。
相關文章
- 重要版本Spring Boot 2.3.0釋出 - spring.ioSpring Boot
- 什麼是 Spring AOT 引擎?Spring
- .net8 aot 釋出
- Spring Data Moore有哪些新功能? - spring.ioSpring
- 更難、更好、更快、更強:LLM Leaderboard v2 現已釋出
- 金山衛士1.0Beta釋出更小更快更安全
- Newsletter 2022-11|HStreamDB 0.11 釋出
- 通往Spring Boot本機應用的道路:Spring GraalVM Native 0.7.0可以使用了 - spring.ioSpring BootLVM
- WebClient: Spring的新的HTTP反應式客戶端 - spring.ioWebclientSpringHTTP客戶端
- 更省更快,如何使用 Serverless 搭建個人專屬網盤?Server
- Spring Boot3 新玩法,AOT 最佳化!Spring Boot
- Spring AOT介紹Spring
- .NET 的 Native AOT 現在是什麼樣的?
- Spring Native釋出:使用GraalVM將Spring應用編譯為本機映象SpringLVM編譯
- MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程
- Spring Cloud Stream事件路由 - spring.ioSpringCloud事件路由
- Spring Cloud Gateway入門 - spring.ioSpringCloudGateway
- 讓容器應用管理更快更安全,Dragonfly 釋出 Nydus 容器映象加速服務Go
- 波場Poloniex釋出全新交易系統 更快速、更穩定、更易用
- 業內首個 React Native轉微信小程式引擎 Alita 正式釋出React Native微信小程式
- Spring AOT應用實踐Spring
- 帶有Rust的核心Linux 6.1-rc1釋出RustLinux
- QuickJS Javascript引擎釋出UIJSJavaScript
- Cloud Native Weekly | Kubernetes 1.13釋出Cloud
- Web函式請求多併發上線,Web服務部署更快更省!Web函式
- Darktable 3 釋出,帶來重新打造的 UI 及新的功能UI
- Facebook開源Mask R-CNN的PyTorch 1.0基準,比mmdetection更快、更省記憶體CNNPyTorch記憶體
- RSocket入門:Spring Boot伺服器 -Spring.ioSpring Boot伺服器
- 新引擎、新能力、新體驗,騰訊主機安全旗艦版重磅釋出
- Coherence Spring 3.1.0的釋出Spring
- Solon 1.5.67 釋出,增加 GraalVm Native 支援LVM
- 阿里雲釋出 Spring Boot 新腳手架,真香阿里Spring Boot
- 劍指immer,更快更強的limu
- Flink 1.11.0 釋出,有哪些值得關注的新特性?
- 資料剖析更靈活、更快捷,火山引擎 DataLeap 動態探查全面升級
- React Native釋出重構路線圖React Native
- 愛立信:更智慧、更快速、更安全的“員工”的崛起
- Android效能優化:手把手教你如何讓App更快、更穩、更省(含記憶體、佈局優化等)Android優化APP記憶體