作家
登录

基于C++ 语言库的GCC和Clang编译器基准测试报告(ETL)

作者: 来源: 2017-09-01 13:02:45 阅读 我要评论

Logistic Sigmoid

下一?测试是检查 sigmoid 操作的机能。在这种情况下,库的评估者将测验测验应用处行化和向量化来计算。让我们看看不合编译器的开销若何:

Y = Alpha * X + Y (axpy)

基于C++ 说话库的GCC和Clang编译器基准测试申报(ETL)

第三个基准是有名的 axpy(y = alpha * x + y)。这是完全由库中的表达式模板决定的,没有应用特定的算法。我们来看看结不雅:

基于C++ 说话库的GCC和Clang编译器基准测试申报(ETL)

矩阵间的乘法 (GEMM)

下一?基准测试是测试 Matrix-Matrix 乘法的机能,这是在 BLAS 定名中被称为 GEMM 的操作。在这种情况下,我们同时测试原始的和优化的向量化实现。为了节俭一些横向空间,我把表分成两部分。

基于C++ 说话库的GCC和Clang编译器基准测试申报(ETL)

这一次,不合编译器之间的机能差别异常大年夜。clang 编译器如今是大年夜幅度领先,个中 clang-4.0 是他们中最快的(也有不错的晋升幅度)。事实上,clang-4.0.1 生成代码,平均比最好的 GCC 编译器生成的代码速度快两倍。异常有趣的是,大年夜 GCC-5.4 开端,我们可以看到一个巨大年夜的机能阑珊,并且这种阑珊还在 GCC-7.1 中。事实上,测试版本中最好的 GCC 版本依然是 GCC-4.9.4。Clang 真的在编译 GEMM 代码方面做得很好。

基于C++ 说话库的GCC和Clang编译器基准测试申报(ETL)

至于优化的版本,这两大年夜家族是相反的。切实其实,GCC 在这方面做的工作比 clang 要好,尽管差距没有以前那么大年夜了,但照样值得留意。我们照样可以不雅察到 GCC 版本中的一个小回归,因为 4.9 版本依然是最快的。至于 clang 版本,似乎 clang-5.0 (在 zapcc 中应用)在这个例子中有了很多的机能改进。

在这个例子中矩阵相乘,它是异常令人印象深刻的,优化与非优化代码在机能上差别异常巨大年夜。并且,令人印象深刻的是,每种类型的编译器都有它们的长处,clang 看起来更合适处理没优化过的代码,而 GCC 更合适处理向量化的代码。

【编辑推荐】

  1. Python小白都邑的若何生成词云图片
  2. Angular为什么选择TypeScript?
  3. 远胜微软谷歌等翻译器 | 基于神经收集和超等计算机的DeepL Translator
  4. Python3中进行HTTP请求的4种方法
  5. 微软宣布UWP社区对象包2.0:Fluent Design加持
【义务编辑:未丽燕 TEL:(010)68476606】

  推荐阅读

  用HTTP方式执行异步任务HTQ

HTQ 具体介绍我们在编写法度榜样时,有时会碰到须要用到异部队列的情况。比如说,我发送一万封邮件,如不雅纯真应用一个for轮回来发送,则履行时光要很长,要等良久才能发完,同时很轻易导>>>详细阅读


本文标题:基于C++ 语言库的GCC和Clang编译器基准测试报告(ETL)

地址:http://www.17bianji.com/lsqh/37093.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)