GCC vs. Clang Compiler Performance On NVIDIA Xavier's Carmel ARMv8 Cores
Since receiving the powerful NVIDIA Jetson AGX Xavier with its ARMv8 Carmel cores on this Tegra194 SoC a while back, it's been quite a fun developer board for benchmarking and various Linux tests. One of the areas I was curious about was whether GCC or Clang would generate faster code for this high performance ARM SoC, so here are some benchmarks.
This CPU compiler benchmarking was done with the NVIDIA Jetson AGX Xavier while running the Ubuntu 18.04 LTS default L4T file-system and comparing the default GCC 7.3.0 against LLVM Clang 6.0 compiler options as officially supported by Ubuntu LTS Bionic Beaver. These are also the compiler versions supported by NVIDIA with their Tegra software on this Linux 4 Tegra sample file-system. The NVIDIA Tegra Xavier (T194) SoC as a reminder has eight "Carmel" ARMv8 CPU cores that are custom designed by NVIDIA. Tests on other more common ARMv8 cores with these different compilers will be coming up in future Phoronix articles with Clang 8 and GCC 9 releasing later this quarter. Rounding out this powerful Jetson AGX Xavier is the Volta GPU with 512 CUDA cores, 16GB of LPDDR4 system memory, 32GB of eMMC storage, two NVDLA deep learning accelerators, and a 7-way vision processor, granted those aren't the focus of today's testing.
Via the Phoronix Test Suite a wide range of C/C++ benchmarks were carried out on this platform for seeing how the GCC and Clang compilers compare from Ubuntu 18.04 LTS.