XDA mītu grautāji: Linaro 4.7.4 vs. GCC 4.7

Optimizētas rīku ķēdes nozīme ir viena no karstākajām tēmām Android izstrādātāju pasaulē. Daudzi no jums, iespējams, ir dzirdējuši par GCC un Linaro, kas ir divi lielākie šāda veida projekti. GCC ir veca kombinācija, kas sākotnēji tika izlaista 1987. gadā, savukārt Linaro ir salīdzinoši jauns spēlētājs tikai četrus gadus vecs.

Vispirms iedziļināsimies šo divu projektu vēsturē. Kā jau teicu iepriekš, GNU kompilatoru kolekcija ir veca. Gadu gaitā tas ir izmantots dažādu projektu apkopošanai, tostarp Android. Google nolēma izmantot versijas 4.6 un 4.7 kā noklusējuma rīku ķēdes, un šajā testu sērijā es vēlētos koncentrēties uz versiju 4.7.

Linaro tika palaists 2010. gadā, un tas ir optimizēts ARM arhitektūrām. Un, protams, ARM tiek izmantots lielākajā daļā viedtālruņu un planšetdatoru, kas darbojas ar Android. Jūs varat atrast Linaro kā rīku ķēdi, ko izmanto kodolu vai veselu ROM kompilēšanai, un daudzi izstrādātāji apgalvo, ka šī rīku ķēde ir ātrāka un jaudīgāka nekā GCC.

Iedvesmojoties no mūsu izstrādātāja administratora Pulser_G2, es nolēmu izmēģināt šo mītu un pārbaudīt, vai šie apgalvojumi ir patiesi. Lai to izdarītu, es vispirms lejupielādēju AOSP avotu. Es uzcēlu an

aosp_mako-eng mērķēt uz manu Nexus 4, izmantojot noklusējuma iepriekš izveidoto Google komplektu kopu. Pēc izgatavot otapa iepakojumu, Es saņēmu 183115481 baita zip failu, kas ir gatavs mirgošanai. Pēc tam es lejupielādēju Linaro 4.7.4 rīku ķēdi un nomainīju GCC prebuilts/gcc/linux-86. Veicu nepieciešamās izmaiņas, lai iestatītu O3 optimizācijas līmeni. Tā kā AOSP atbalsta tikai iepriekš iebūvētus kodolus (bez modifikācijām), es pats izveidoju kodolu ar Linaro un aizvietoju kodolu mako kodolā ar savu blobu.

 Zemāk varat redzēt divus iegūtos arhīvus. Kā redzat, Linaro arhīvs ir nedaudz lielāks, tāpēc šī rīku ķēde faktiski kaut ko dara ar bin un xbin mapēm. Arī pats kodola fails ir lielāks.

Bet faila lielums nav vissvarīgākais. Tā vietā koncentrēsimies uz veiktspēju. Lai to izmērītu, es izmantoju AnTuTu etalonu. Lai palielinātu precizitāti, es katru testu veicu trīs reizes. Kā redzat zemāk, atšķirība ir diezgan liela. Tomēr es neliktu pārāk aklu ticību šiem testiem, jo ​​rezultāti katrā pārbaudē bija atšķirīgi. Tomēr Linaro bija par dažiem punktiem labāks par GCC, taču AnTuTu nav tik uzticams, kā jūs varētu domāt.

GCC

Linaro

Ar 3DMark tika veikti šādi testi, lai noskaidrotu, vai rīkķēde var ietekmēt grafikas veiktspēju. Atšķirība bija vēl būtiskāka nekā ar Antutu. Izmantojot GCC, jūs varat iegūt nedaudz FPS, taču kopējais gludums ir labāks ar Linaro. Arī rezultāts ir nedaudz augstāks.

GCC

Linaro

Pēdējais tests tika veikts, izmantojot spēli Asphalt 8: Airborne. Zemāk varat redzēt divus spēles video, kas darbojas abās rīku ķēdēs. Pirmais tika izgatavots ar Linaro, bet otrais ar GCC. Personīgi es domāju, ka Linaro jūtas nedaudz gludāks nekā GCC, taču tas var būt tikai placebo efekts, jo tas nebija dubultmaskēts tests. Abi kodoli bija pieejami, un tajos nebija nekādu pielāgojumu, pārspīlēšanas un jebkādu citu izdomātu uzlabojumu veiktspējas uzlabošanai.

//www.youtube.com/embed/BZRZenaNr9A

Tātad Linaro ir labāks?

Lai gan sākumā biju skeptisks, jāatzīst, ka Linaro šķiet labāka izvēle nekā GCCat vismaz manā aparatūras konfigurācijā. OS jutās atsaucīgāka un ātrāka nekā tad, kad tā tika izveidota, izmantojot GCC. Tomēr GCC joprojām ir stabils, tāpēc, ja jums nepieciešama maksimāla stabilitāte, tā joprojām var būt labākā izvēle.

Nākamajās sērijās es mēģināšu salīdzināt citas rīku ķēdes, piemēram, SaberMod un Linaro 4.8. Lūdzu, paziņojiet mums par savām iecienītākajām rīku ķēdēm zemāk esošajos komentāros. Un, ja vēlaties, lai mēs pārbaudītu citas instrumentu ķēdes, lūdzu, sakiet to!