Linaro于2010年推出,并针对ARM体系结构进行了优化。当然,ARM被用于大多数基于Android的智能手机和平板电脑中。您可以找到Linaro作为用于编译内核或整个ROM的工具链,许多开发人员声称此工具链比GCC更快,功能更强大。
受开发人员Admin Pulser_G2的启发,我决定尝试一下这个神话,看看这些说法是否真实。为此,我首先下载了AOSP源代码。我使用Google的默认预设集为Nexus 4构建了aosp_mako-eng目标。完成otapackage之后,我准备准备闪现183115481字节的zip文件。之后,我下载了Linaro 4.7.4工具链,并在prebuilts / gcc / linux-86中替换了GCC 。我进行了必要的更改以设置优化的O3级别。由于AOSP仅支持预构建的内核(无修改),因此我使用Linaro自行构建了内核,并用自己的Blob替换了mako内核中的内核。
在下面,您可以看到两个结果存档。如您所见,Linaro归档文件稍大,因此此工具链实际上可以对bin和xbin文件夹进行某些操作。内核文件本身也更大。
但是文件大小不是最重要的。相反,让我们专注于性能。为了衡量这一点,我使用了AnTuTu基准测试。为了提高精度,我对每个测试运行了三次。如下所示,差异很大。但是,我不会对这些测试过于盲目,因为每个测试的结果都不同。也就是说,Linaro比GCC好几个点,但是AnTuTu并不像您想象的那样可靠。
使用3DMark执行了以下测试,以查看工具链是否会影响图形性能。这种差异甚至比Antutu更为明显。使用GCC可以获得的FPS很少,但是使用Linaro可以使整体平滑度更好。分数也更高。
最终测试是使用游戏《沥青8:空降》进行的。在下面,您可以看到在两个工具链上都运行的两个游戏视频。第一个由Linaro制造,第二个由GCC制造。我个人认为Linaro感觉比GCC光滑,但这可能只是安慰剂作用,因为这不是双盲测试。这两个内核都是现货,没有任何调整,超频和任何其他可改善性能的调整。