XDA Razotkrivači mitova: Linaro 4.7.4 vs. OUU 4.7

Važnost optimiziranog lanca alata jedna je od najvrućih tema u svijetu razvijatelja Androida. Mnogi od vas možda su čuli za GCC i Linaro, koji su dva najveća projekta ovog tipa. GCC je stara ruka koja je prvotno izdana 1987., dok je Linaro relativno mlad igrač sa samo četiri godine.

Zaronimo prvo u povijest ova dva projekta. Kao što sam ranije rekao, GNU Compiler Collection je stara. Tijekom godina korišten je za kompajliranje raznih projekata, uključujući Android. Google je odlučio koristiti verzije 4.6 i 4.7 kao svoje zadane lance alata, a ja bih se želio usredotočiti na verziju 4.7 u ovoj seriji testova.

Linaro je lansiran 2010. godine i optimiziran je za ARM arhitekture. I naravno, ARM se koristi u velikoj većini pametnih telefona i tableta s Androidom. Linaro možete pronaći kao alatni lanac koji se koristi za kompajliranje kernela ili cijelih ROM-ova, a mnogi programeri tvrde da je ovaj alatni lanac brži i moćniji od GCC-a.

Inspiriran našim razvojnim administratorom Pulser_G2, odlučio sam isprobati ovaj mit i vidjeti jesu li te tvrdnje istinite. Da bih to učinio, prvo sam preuzeo AOSP izvor. Izgradio sam

aosp_mako-eng cilj za moj Nexus 4 korištenjem zadanog skupa unaprijed izrađenih Googleovih verzija. Nakon napraviti otapaket, Imam zip datoteku od 183115481 bajta spremnu za flash. Nakon toga sam preuzeo lanac alata Linaro 4.7.4 i zamijenio GCC prebuilts/gcc/linux-86. Proveo sam potrebne promjene za postavljanje razine O3 optimizacije. Kako AOSP podržava samo unaprijed izgrađene kernele (bez modifikacija), sam sam napravio kernel s Linarom i zamijenio kernel u mako-kernelu svojim vlastitim blobom.

 Ispod možete vidjeti dvije nastale arhive. Kao što možete vidjeti, Linaro arhiva je malo veća, tako da ovaj lanac alata zapravo čini nešto za mape bin i xbin. Sama kernel datoteka je također veća.

Ali veličina datoteke nije najvažnija stvar. Umjesto toga, usredotočimo se na performanse. Da bih ovo izmjerio, koristio sam AnTuTu benchmark. Za veću preciznost, svaki sam test proveo tri puta. Kao što možete vidjeti u nastavku, razlika je prilično velika. Međutim, ne bih previše slijepo vjerovao ovim testovima, jer su se rezultati razlikovali na svakom testu. Ipak, Linaro je bio nekoliko bodova bolji od GCC-a, ali AnTuTu nije toliko pouzdan kao što mislite.

GCC

Linaro

Sljedeći testovi provedeni su s 3DMarkom kako bi se vidjelo može li lanac alata utjecati na performanse grafike. Razlika je bila još značajnija nego kod Antutua. Možda ćete dobiti malo FPS-a s GCC-om, ali ukupna glatkoća je bolja s Linarom. Ocjena je također nešto viša.

GCC

Linaro

Završni test proveden je pomoću igre Asphalt 8: Airborne. Ispod možete vidjeti dva videa igre koja se izvodi na oba lanca alata. Prvi je napravljen s Linarom, dok je drugi s GCC-om. Osobno mislim da je Linaro malo glatkiji od GCC-a, ali to bi mogao biti samo placebo učinak jer ovo nije bio dvostruko slijepi test. Obje su jezgre bile standardne i bez podešavanja, overclockinga i bilo kakvih drugih otmjenih podešavanja za poboljšanje performansi.

//www.youtube.com/embed/BZRZenaNr9A

Pa je li Linaro bolji?

Iako sam u početku bio skeptičan, moram priznati da se Linaro čini boljim izborom od GCC-a, barem na mojoj hardverskoj konfiguraciji. OS se činio osjetljivijim i bržim nego kad je napravljen pomoću GCC-a. Međutim, GCC je i dalje čvrst kao kamen, pa ako vam je potrebna vrhunska stabilnost, on bi ipak mogao biti najbolji izbor.

U sljedećim epizodama pokušat ću usporediti druge alate kao što su SaberMod i Linaro 4.8. Obavijestite nas o svojim omiljenim lancima alata u komentarima ispod. A ako želite da testiramo bilo koje druge lance alata, recite to!