搖籃守護(hù)進(jìn)程如何使構(gòu)建速度更快

2018-07-01 16:39 更新

Gradle守護(hù)進(jìn)程是一個(gè)常駐構(gòu)建進(jìn)程.在兩個(gè)構(gòu)建之間的空閑期間會(huì)等待著下次構(gòu)建.與每個(gè)構(gòu)建加載Gradle到內(nèi)存相比,對(duì)于多個(gè)構(gòu)建只需要加載一次Gradle到內(nèi)存具有明顯的好處.這本身就是對(duì)性能的顯著優(yōu)化,但是不止這些.

現(xiàn)代JVM的顯著優(yōu)化是運(yùn)行時(shí)代碼優(yōu)化.例如,熱點(diǎn)(HotSpot)(由Oracle提供并作為OpenJDK的基礎(chǔ)的JVM實(shí)現(xiàn))適用于優(yōu)化運(yùn)行時(shí)代碼.優(yōu)化是漸進(jìn)的,而不是瞬間的。也就是說,代碼在運(yùn)行期間逐步優(yōu)化,這意味著后續(xù)版本純粹是基于這個(gè)優(yōu)化過程變得更快.HotSpot實(shí)驗(yàn)表明,它需要5至10某處構(gòu)建以優(yōu)化至穩(wěn)定.在一個(gè)守護(hù)進(jìn)程的第一個(gè)構(gòu)建和第十之間感知的編譯時(shí)間的差異可以說是相當(dāng)巨大的.

守護(hù)程序還允許更有效地在內(nèi)存中緩存整個(gè)構(gòu)建。例如,需要構(gòu)建(如插件,構(gòu)建腳本)的類可以在內(nèi)存中舉行的構(gòu)建。同樣,搖籃可保持在內(nèi)存中緩存的構(gòu)建數(shù)據(jù)的諸如的任務(wù)輸入和輸出的哈希值,用于增量構(gòu)建。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)