|
Java9提議可能花費(fèi)一些應(yīng)用程序,但其他人慢.遠(yuǎn)程控制軟件,灰鴿子下載
![]()
從Oracle的Java開發(fā)工具包建議將使名列前茅的即時(shí)編譯到平臺(tái)上最高性能或用戶的工作流程的影響最小
Java應(yīng)用程序?qū)@得更快的啟動(dòng)得益于正式提案次提前包含-的即時(shí)編譯的平臺(tái)。
該草案的Java開發(fā)工具包的建議,由弗拉基米爾·科茲洛夫,甲骨文主要的技術(shù)研究人員,創(chuàng)作是針對(duì)包含在Java中9,預(yù)計(jì)將在明年夏天。
“我們很樂意看到這使它成為JDK 9,但當(dāng)然這將取決于在OpenJDK過程的結(jié)果為這個(gè)JEP(JDK增強(qiáng)提案),”喬治·薩博,Java平臺(tái)組中的軟件開發(fā)副總裁在甲骨文上周四。名列前茅的即時(shí)編譯一直是Java的9既定目標(biāo),以解決啟動(dòng)速度慢的問題。
“JIT編譯器的速度快,但Java程序可以變得如此之大,它需要很長(zhǎng)的時(shí)間JIT熱身徹底,”科茲洛夫的提議狀態(tài)。 “不常用的Java方法可能永遠(yuǎn)都被編譯,可能招致的性能損失由于反復(fù)解釋調(diào)用, 遠(yuǎn)程控制軟件, 遠(yuǎn)程控制。”
提案摘要指出,Java類會(huì)啟動(dòng)虛擬機(jī)之前被編譯為本地代碼。最終的目標(biāo)是,同時(shí)具有“至多”上峰值性能的影響有限,并盡量減少改變到用戶的工作流程,以提高的或大或小的Java應(yīng)用程序的啟動(dòng)時(shí)間。
超前-的即時(shí)編譯將通過一種新的工具,jaotc完成的,而格拉爾技術(shù),這使得它可行用Java編寫一個(gè)動(dòng)態(tài)編譯器和語言運(yùn)行時(shí)解釋,被用作代碼生成后端。 AOT的編譯代碼的使用對(duì)于用戶是透明的,但JVM選項(xiàng),根據(jù)這一提案控制訪問和提供的代碼存儲(chǔ)。
這個(gè)計(jì)劃,但是,進(jìn)行性能風(fēng)險(xiǎn)。 “這是可能的是,使用的預(yù)編譯代碼可能導(dǎo)致低于最佳碼被使用,導(dǎo)致在性能,損失”的提案狀態(tài)。 “性能測(cè)試表明,某些應(yīng)用程序AOT編譯的代碼中獲益,而其他人清楚地表明回歸!彪S著AOT作為一個(gè)可選功能,與用戶應(yīng)用程序的性能回歸是可以避免的。 “如果用戶發(fā)現(xiàn)一個(gè)應(yīng)用程序啟動(dòng)時(shí)更慢,或沒有達(dá)到預(yù)期的峰值性能,他們可以重建一個(gè)新的JDK而不AOT庫”。
項(xiàng)目取決于Java級(jí)別的JVM編譯界面,它使用Java編寫的編譯器由JVM被用作動(dòng)態(tài)Java編譯器。它也取決于格拉爾芯是JDK的一部分。 Java的9已定于明年三月到達(dá),但四個(gè)月的遲滯已提議。
|
|