四个不同的系统上进行LLVM/Clang 6.0 和 5.0 的编译器Benchmark测试

描述

LLVM/Clang 6.0 和 5.0 的编译器 Benchmark 测试这次会在四个不同的系统上进行,包括了 Intel/AMD Linux 平台,其中 Intel 和 AMD 各占两个。

四个系统都运行了 Ubuntu Linux x86_64,Intel 和 AMD 平台分别的配置如下:Intel Core i7 8700K (Coffeelake)、dual Xeon Gold 6138 (Skylake X)、Ryzen 7 1700 (Znver1) 以及 AMD EPYC 7601 (Znver1)。

除了默认的 C++14/GNU++14,Clang 6.0 还正式完成了 AMD Zen "znver1" 的程序调度模型,而英特尔方面也对多代 CPU 进行了调度程序的改进。

参与测试的 LLVM 5.0.1 和 LLVM 6.0.0 稳定版都是来自 apt.llvm.org。测试期间,每个系统都将其 CFLAGS/CXXFLAGS 设置为 "-O3 -march=native"。这次编译器 Benchmark 测试使用了开源的 Phoronix Benchmark 测试套件。

接下来,我们看看测试结果如何:

编译器

从 PolyBench-C Benchmark 测试可以看到,Clang 6.0  在 AMD Zen 系统似乎有明显的回落,而在英特尔平台上,性能没有太大的变动。

编译器

在大多数 benchmark 测试中,Clang 6.0 的表现与 Clang 5.0.1 相比几乎没有什么变化,这里也省略了许多结果。

编译器

使用 Clang 6.0 时,BLAKE2 似乎对英特尔 Skylake/Coffeelake 的设置稍有改进,而对于 Znver1 处理器则保持不变。

编译器

编译器

在一些测试中,我们发现 Core i7 8700K Coffeelake 系统在全新的 Clang 编译器更新中拥有更好的性能。

编译器

在 SciMark2 的 FFT 测试中,i7-8700K 明显是最大的赢家。

编译器

在其他的子测试中,i7-8700K的运行时间更短。在某些情况下,AMD 方面也有一些小幅度的改进。

编译器

TSCP chess benchmark 测试显示,i7-8700K 的速度稍慢,而其他系统则略有改善。

编译器

我们发现,强大的 EPYC 和 Xeon 系统在使用 Clang 6.0 时确实有更快的 John The Ripper 性能。

编译器

除了 dual Xeon Gold 外,其他系统的 AVX-heavy Himeno 压力求解器的性能都得到了改善。

编译器

编译器

但随着 LLVM 和 Clang 增加更多的优化和功能,在这项测试中,6.0 版本的编译时间显然比在 5.0 版本下显着减慢。

编译器

C-Ray 多线程射线追踪器(ray-tracer) z在 LLVM 6.0 上也变慢。

编译器

编译器

编译器

不过在其他一些测试中,Core i7 8700K 再次显示出 LLVM Clang 6.0 的一些小的性能改进。

可以看到,在使用 Linux x86_64 的流行英特尔和 AMD 平台上,LLVM Clang 5.0 和 6.0 之间的性能只发生了微小的变化。不过随着 LLVM/Clang 在过去的几年里已经成熟了许多,而且现在几乎与 GCC 在很多工作负载上并驾齐驱。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分