Penghancur Mitos XDA: Linaro 4.7.4 vs. GCC 4.7

click fraud protection

Pentingnya toolchain yang dioptimalkan adalah salah satu topik terhangat di dunia pengembang Android. Banyak dari Anda mungkin pernah mendengar tentang GCC dan Linaro, yang merupakan dua proyek terbesar dari jenis ini. GCC adalah pemain lama yang pertama kali dirilis pada tahun 1987, sedangkan Linaro adalah pemain yang relatif muda, baru berusia empat tahun.

Mari kita selami sejarah kedua proyek ini terlebih dahulu. Seperti yang saya katakan sebelumnya, Koleksi Kompiler GNU sudah tua. Selama bertahun-tahun, ini telah digunakan untuk mengkompilasi berbagai proyek, termasuk Android. Google memutuskan untuk menggunakan versi 4.6 dan 4.7 sebagai toolchain defaultnya, dan saya ingin fokus pada versi 4.7 dalam rangkaian pengujian ini.

Linaro diluncurkan pada tahun 2010, dan telah dioptimalkan untuk arsitektur ARM. Dan tentu saja, ARM digunakan di sebagian besar ponsel pintar dan tablet berbasis Android. Anda dapat menemukan Linaro sebagai rantai alat yang digunakan untuk mengkompilasi kernel atau seluruh ROM, dan banyak pengembang mengklaim rantai alat ini lebih cepat dan lebih kuat daripada GCC.

Terinspirasi oleh Admin Pengembang kami Pulser_G2, saya memutuskan untuk mencoba mitos ini dan melihat apakah klaim ini nyata. Untuk melakukan ini, saya pertama kali mengunduh sumber AOSP. Saya membangun sebuah aosp_mako-eng target untuk Nexus 4 saya menggunakan set bawaan bawaan dari Google. Setelah membuat paket ota, Saya memiliki file zip 183115481-byte yang siap untuk di-flash. Setelah itu, saya mengunduh toolchain Linaro 4.7.4 dan mengganti GCC bawaan/gcc/linux-86. Saya melakukan perubahan yang diperlukan untuk mengatur tingkat optimasi O3. Karena AOSP hanya mendukung kernel prebuilt (tanpa modifikasi), saya membuat kernel sendiri dengan Linaro dan mengganti kernel di kernel mako dengan blob saya sendiri.

 Di bawah ini Anda dapat melihat dua arsip yang dihasilkan. Seperti yang Anda lihat, arsip Linaro sedikit lebih besar, jadi rantai alat ini benar-benar melakukan sesuatu pada folder bin dan xbin. File kernelnya sendiri juga lebih besar.

Namun ukuran file bukanlah hal yang terpenting. Sebaliknya, mari fokus pada kinerja. Untuk mengukurnya, saya menggunakan benchmark AnTuTu. Untuk meningkatkan presisi, saya menjalankan setiap pengujian tiga kali. Seperti yang Anda lihat di bawah, perbedaannya cukup besar. Namun, saya tidak akan terlalu percaya begitu saja pada tes ini, karena hasil setiap tes berbeda-beda. Meskipun demikian, Linaro hanya beberapa poin lebih baik daripada GCC, namun AnTuTu tidak dapat diandalkan seperti yang Anda bayangkan.

GCC

Linaro

Pengujian berikut dilakukan dengan 3DMark untuk melihat apakah toolchain dapat memengaruhi performa grafis. Perbedaannya bahkan lebih signifikan dibandingkan dengan Antutu. Anda mungkin memperoleh sedikit FPS dengan GCC, tetapi kehalusan secara keseluruhan lebih baik dengan Linaro. Skornya juga sedikit lebih tinggi.

GCC

Linaro

Tes akhir dijalankan dengan menggunakan game Asphalt 8: Airborne. Di bawah ini Anda dapat melihat dua video game yang berjalan di kedua rantai alat. Yang pertama dibuat dengan Linaro, sedangkan yang kedua dengan GCC. Secara pribadi, menurut saya Linaro terasa sedikit lebih halus daripada GCC, tapi itu mungkin hanya efek plasebo karena ini bukan tes double-blind. Kedua kernel tersebut tersedia dan bebas dari penyesuaian, overclocking, dan penyesuaian mewah lainnya untuk meningkatkan kinerja.

//www.youtube.com/embed/BZRZenaNr9A

Jadi apakah Linaro Lebih Baik?

Meskipun saya ragu pada awalnya, saya harus mengakui bahwa Linaro tampaknya merupakan pilihan yang lebih baik daripada GCC, setidaknya pada konfigurasi perangkat keras saya. OSnya terasa lebih responsif dan cepat dibandingkan saat dibangun menggunakan GCC. Namun, GCC masih kokoh, jadi jika Anda memerlukan stabilitas tertinggi, ini mungkin masih merupakan pilihan terbaik.

Di episode selanjutnya, saya akan mencoba membandingkan toolchain lain seperti SaberMod dan Linaro 4.8. Beri tahu kami tentang rantai alat favorit Anda di komentar di bawah. Dan jika Anda ingin kami menguji toolchain lainnya, silakan sampaikan!