Szerző: Gálffy Csaba

2015. május 13. 12:06

Sokat gyorsult a Gradle

A sebességre fókuszált a fejlesztőcsapat a Gradle projektautomatizációs eszköz új verziójában, a 2.4-es kiadás jelentős gyorsulást ígér a fordítási folyamatban, miközben csökkent a memóriahasználat is.

Gyors bemutatás: a Gradle egy fejlesztői projektautomatizációs eszköz, amely scriptek és beépülők segítségével készíti el a forráskódból a tulajdonképpeni buildet (lefordított szoftvert). A Gradle ma már viszonylag széles körben használatos, ebben szerepe van annak is, hogy az androidos fejlesztés egyik alapértelmezett eszközének számít, a Google-féle fejlesztőkörnyezetnek, az Android Studiónak is integrált részét képezi, de tud kezelni iOS-t, C++-t, illetve egyéb platformokat/nyelveket is.

Több ponton sikerült jelentősen felgyorsítani a Gradle működését - ígéri a 2.4-es verzió kiadási jegyzeteiben a fejlesztői csapat. A jegyzetek szerint pusztán a 2.4-es verzióra frissítés önmagában mintegy 20 százalékkal rövidíti meg a build elkészítéséhez szükséges időt. Ez annak köszönhető, hogy a konfigurációs idő (configuration time), amely alatt a Gradle a scripteket és plugineket értelmezi, jelentősen lerövidült. Ezt a belső algoritmusokat, adat- és gyorsítótár-struktúrákat érintő optimalizálással sikerült elérni, az eredményből (érthetően) a legnagyobb projektek profitálnak a leginkább, a konfigurációs idő ezeknél a leghosszabb, komplexitástól függően 30-80 százalékkal gyorsabban fut le.

Android Studióból könnyű a váltás.

Jöhet a malware-cunami az iPhone-okra?

Nyílik az iOS, de tényleg annyira veszélyes ez? Annyira azért nem kell félni, elég sok kontroll van még az Apple-nél.

Jöhet a malware-cunami az iPhone-okra? Nyílik az iOS, de tényleg annyira veszélyes ez? Annyira azért nem kell félni, elég sok kontroll van még az Apple-nél.

Javult a Gradle alkalmazás által használt osztályok újrahasznosítása is Gradle Daemonban, vagyis a rendszer immár sokkal intelligensebben válogatja ki, hogy mely osztályokat érdemes újratölteni és melyikeket érdemes memóriában tartani az új buildek készítésénél. Mivel ezek betöltése igen erőforrásigényes, az újrahasznosítás bővülése is jelentősen hozzájárul a teljesítmény növeléséhez. Az újrahasznosítás járulékos haszna, hogy az osztályokat futtató JVM viselkedéséhez is jobban passzol, a sokszor futtatott kód optimalizálására több lehetőség adódik, ami drámaian javítja a teljesítményt az első néhány futás után.

Az új kiadásban megjelent a natív kód futtatásának párhuzamosítása, vagyis a fordításra kijelölt forráskódot a szoftver immár igyekszik párhuzamosan, több szálon feldolgozni. Ez igen látványos gyorsulást hoz, a szekvenciális fordításhoz képest a feldolgozás töredék időt vesz igénybe, a Gradle példája egy 500 forrásállományra vonatkozó projekt esetében 53,4 másodperc helyett csak 12,9 másodperc. A párhuzamosítás működik C/C++/Objective-C/Objective-C++/Assembler nyelvek és gcc, Clang illetve Visual C++ fordítók esetében is. A párhuzamosság mértéke (az egyszerre futó fordítások száma) egy új paraméterrel, a "max worker" segítségével állítható.

A Gradle 2.4 jobb teljesítményének kihasználásához első körben csak a frissítésre van szükség, ez manuálisan vagy automatikusan is elvégezhető - elegendő az Android Studióban kiválasztani az újabb verziót. A Gradle Daemon és a párhuzamos fordítás bekapcsolásához itt található részletesebb leírás.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról