精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

開發(fā) 后端
從我使用 C++ 代碼完成了不同編譯器的基準測試到現(xiàn)在,已經有一段時間了。由于我最近發(fā)布了 ETL 項目的 1.1 版(一個具有表達式模板的優(yōu)化矩陣/向量計算庫),所以我決定使用它作為我的基準測試的基版本。

從我使用 C++ 代碼完成了不同編譯器的基準測試到現(xiàn)在,已經有一段時間了。由于我最近發(fā)布了 ETL 項目的 1.1 版(一個具有表達式模板的優(yōu)化矩陣/向量計算庫),所以我決定使用它作為我的基準測試的基版本。它是一個帶有大量模板的 C++ 14 庫。我要編譯完整的測試套件(124 個測試用例)。這是直接在最新版本(1.1)的代碼上完成的。我將在調試模式下編譯一次,并在 release_debug(release + debug 符號和斷言)下進行一次編譯,并記錄每個編譯器的執(zhí)行時間。該測試將使用支持 ETL 中的每個選項的配置進行編譯,以此計算最大的編譯時間。每次編譯都使用四個線程(make -j4)。 我還做了一些基準測試,以了解每個編譯器生成的代碼間的運行時的性能差異。基準測試將編譯為發(fā)布模式,并記錄其編譯時間。

我將測試以下編譯器:

  • GCC-4.9.4
  • GCC-5.4.0
  • GCC-6.3.0
  • GCC-7.1.0
  • clang-3.9.1
  • clang-4.0.1
  • zapcc-1.0 (商業(yè)版,基于 clang-5.0 主分支)

所有這些都是直接使用 Portage(Gentoo 軟件包管理器)安裝的,除了從源代碼安裝的 clang-4.0.1 以及沒有 Gentoo 軟件包的 zapcc。由于 Gentoo 上的 clang 包不支持多進程,所以我不得不從源代碼中安裝一個版本,從包管理器中安裝另一個版本。這也是我測試較少版本的 clang 的原因,更實用點。

為了實現(xiàn)這些測試的目標,所有編譯器都使用了完全相同的選項。通常,我在 clang 上使用比 GCC 更多不同的選項(主要是考慮到在 clang 上更嚴格的向量化選項)。這可能不會使得每個編譯器達到最佳性能,但可以對使用默認優(yōu)化級別的輸出之間進行比較。以下是使用的主要選項:

  • 調試模式下: -g
  • 發(fā)布+調試模式下: -g -O2
  • 發(fā)布模式下: -g -O3 -DNDEBUG -fomit-frame-pointer

每種情況都啟用了許多警告,ETL 選項也是一樣的。

所有的測試結果都是運行在 Intel Core i7-2600(Sandy Bridge ...)@ 3.4GHz 上的 Gentoo 機器上收集的,該機器具有 4 核和 8 線程、12G 的 RAM 和一個 SSD。我盡可能地從干擾項中分離出基準數(shù)據(jù),并且我的基準代碼是相當健全的,但是有些結果可能并不完全準確。此外,一些基準測試是在使用多線程,這可能會增加一些干擾和不可預測性。當我對測試結果不太確定時,我會多次運行基準測試以對此確認,并且總體而言,我對結果很有信心。

編譯時間

讓我們從編譯器自身的性能結果開始:

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

注: 在 Release_Debug 和 Benchmark,我對 zapcc 只使用了三個線程, 因為 12Go 的內存對于四個線程并不足夠。

不同的編譯器之間有一些非常重要的區(qū)別。總地來說,clang-4.0.1 是迄今為止調試模式下最快的免費編譯器。然而,當測試代碼被添加優(yōu)化選項加以編譯,clang 就落后了。在調試模式和發(fā)布模式下,clang-4.0.1 比 clang-3.9.1 快得多,這一點令人印象深刻。在這一點上 clang 團隊干得不錯!這些優(yōu)化,使得 clang-4.0.1 在發(fā)布模式下幾乎與 gcc-7.1 平分秋色。對于 GCC 來說,優(yōu)化的成本似乎一直在顯著地上升。然而, GCC 7.1 似乎使得優(yōu)化加快,也使得標準編譯快了許多。如果我們考慮 zapcc,這是調試模式下最快的編譯器,但它的速度在發(fā)布模式下比幾個 gcc 版本要慢。

總地來說,我對 clang-4.0.1 的性能印象深刻,它看起來真快!在不久的將來,我一定會用這個新版本做更多的測試。看到 g++-7.1 的編譯速度確實快于 gcc-6.3,也同樣令人欣慰。然而,對優(yōu)化而言,最快的 gcc 版本仍然是 gcc-4.9.4 ,這已經是一個對 C++ 標準低支持的老版本。

運行時性能

現(xiàn)在來看看生成的代碼的質量。對于一些基準測試,我已經包含了兩個版本的算法。 std 是最簡單的算法(原始版),vec 是手工向量化和優(yōu)化的實現(xiàn)版本。所有的測試都是在單精度浮點上完成的。

點乘

運行的第一個基準是計算兩個向量之間的點積。讓我們先看看原始版的性能:

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

不同的編譯器之間的差異不是很大。基于 clang 的編譯器似乎是生成速度最快代碼的編譯器。有趣的是,gcc-6.3 似乎在大數(shù)據(jù)量的容器中有一個很大的性能衰減,但在 gcc-7.1 中已經解決了。

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

如果我們查看優(yōu)化版本的結果,其中差異更小。同樣,基于 clang 的編譯器生成的可執(zhí)行文件是最快的,但緊隨其后的是 gcc,除了 gcc-6.3 之外,我們仍然可以看到與之前相同的性能衰退。

Logistic Sigmoid

下一個測試是檢查 sigmoid 操作的性能。在這種情況下,庫的評估者將嘗試使用并行化和向量化來計算。讓我們看看不同編譯器的開銷如何:

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

有趣的是,我們可以看到,gcc-7.1 在少量數(shù)據(jù)時是最快的,而 clang-4.0 最適合生成較大數(shù)據(jù)時的代碼。然而,除了最大的向量大小,差異并不是很明顯。顯然,zapcc(或 clang-5.0)有一個回歸,因為它比 clang-4.0 慢,并與 clang-3.9 相同速度。

Y = Alpha * X + Y (axpy)

第三個基準是著名的 axpy(y = alpha * x + y)。這是完全由庫中的表達式模板決定的,沒有使用特定的算法。我們來看看結果:

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

即使是最大的 vector,一旦向量化和并行化之后,這也是一個非常快速的操作。以這種速度,觀察到的一些差異可能不是很重要。再次,基于 clang 的版本是這段代碼中最快的版本,但差異還是很小。在 gcc-7.1 中似乎還有一點回歸,但這也是相當小的。

矩陣間的乘法 (GEMM)

下一個基準測試是測試 Matrix-Matrix 乘法的性能,這是在 BLAS 命名中被稱為 GEMM 的操作。在這種情況下,我們同時測試原始的和優(yōu)化的向量化實現(xiàn)。為了節(jié)省一些橫向空間,我把表分成兩部分。

基于C++ 語言庫的GCC和Clang編譯器基準測試報告(ETL)

這一次,不同編譯器之間的性能差異非常大。clang 編譯器現(xiàn)在是大幅度領先,其中 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)

至于優(yōu)化的版本,這兩大家族是相反的。的確,GCC 在這方面做的工作比 clang 要好,盡管差距沒有以前那么大了,但還是值得注意。我們還是可以觀察到 GCC 版本中的一個小回歸,因為 4.9 版本依然是最快的。至于 clang 版本,似乎 clang-5.0 (在 zapcc 中使用)在這個例子中有了很多的性能改進。

在這個例子中矩陣相乘,它是非常令人印象深刻的,優(yōu)化與非優(yōu)化代碼在性能上差異非常巨大。并且,令人印象深刻的是,每種類型的編譯器都有它們的長處,clang 看起來更適合處理沒優(yōu)化過的代碼,而 GCC 更適合處理向量化的代碼。

責任編輯:未麗燕 來源: 開源中國翻譯
相關推薦

2020-11-03 10:32:22

編譯器工具代碼

2010-10-20 13:43:37

C++編譯器

2022-11-24 13:05:27

ClangiOS

2018-04-13 10:56:14

編譯器工具開發(fā)者

2010-01-21 09:11:38

C++編譯器

2010-01-18 10:34:21

C++編譯器

2010-01-18 10:28:15

C++編譯器

2019-04-09 09:09:01

編程語言PythonC++

2010-01-12 16:42:59

C++編譯器

2010-01-14 15:29:44

C++編譯器

2010-02-03 13:14:03

C++編譯器命令

2010-01-27 14:48:55

優(yōu)秀C++編譯器

2014-03-03 10:00:53

編譯器集成開發(fā)環(huán)境

2010-01-21 09:26:53

CC++編譯器

2010-01-08 16:00:46

C++編譯器

2013-06-24 15:32:00

c++GCC

2009-02-24 08:48:02

D語言C++編譯器

2009-01-12 10:16:11

Visual C++編譯器選項設置

2010-01-14 14:55:14

C++編譯器

2010-01-27 16:39:48

C++編譯器
點贊
收藏

51CTO技術棧公眾號

欧美综合二区| 精品按摩偷拍| 亚洲久草在线视频| 国产伦精品一区二区三区四区视频 | 欧美性x x x| 国产视频一区二| 欧美日韩国产限制| 亚洲在线视频一区二区| 亚洲国产精品成人综合久久久| 亚洲精品一区| 中文字幕日韩一区| 韩国成人一区| 久热这里有精品| 校花撩起jk露出白色内裤国产精品| 欧美怡红院视频| 青青在线视频免费观看| 暖暖视频在线免费观看| 国内精品国产三级国产a久久 | 九九热精品免费视频| 先锋欧美三级| 久久久综合九色合综国产精品| 国产欧美精品一区二区三区介绍| 免费在线一区二区三区| 欧美精品一区二区三区精品| 精品国产网站在线观看| 久久综合伊人77777麻豆最新章节| h网站久久久| 国产日韩欧美不卡| 国产精品福利视频| 中文字幕在线观看高清| 欧美亚洲三级| 欧美激情综合色综合啪啪五月| 九一在线免费观看| 私拍精品福利视频在线一区| 日韩三级免费观看| 天天干天天玩天天操| 亚洲精品一区| 精品国产91久久久| 白白操在线视频| 免费黄色网址在线观看| 国产欧美视频在线观看| 国产在线一区二区三区播放| av无码精品一区二区三区宅噜噜| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧产日产国产69| 一区二区视频欧美| 欧美高跟鞋交xxxxxhd| 成人信息集中地| 四虎视频在线精品免费网址| 日韩欧美有码在线| 成人一区二区免费视频| 中文字幕资源网在线观看| 中文字幕第一页久久| 免费国产一区二区| 桃花色综合影院| 日本人妖一区二区| 欧美在线激情视频| 久久夜靖品2区| 亚洲日产国产精品| 午夜精品久久久99热福利| 欧美肉大捧一进一出免费视频 | 国产视频一区二区三区四区| av网站在线观看免费| 国内精品伊人久久久久影院对白| 国产在线观看精品一区二区三区| 一区二区视频免费| 久99久精品视频免费观看| 国产精品久久久久av| 久草视频在线免费| 日本欧美一区二区三区乱码| 国产欧美最新羞羞视频在线观看| 在线观看黄色网| 极品少妇xxxx精品少妇| 91在线免费视频| 国产jzjzjz丝袜老师水多| 国产成人免费在线观看不卡| 成人片在线免费看| 亚洲av片在线观看| 久久久久青草大香线综合精品| 免费试看一区| 自拍视频在线网| 国产精品进线69影院| 天天在线免费视频| 欧美人与动牲性行为| 日本一区二区视频在线观看| 亚洲成人午夜在线| 国产精品剧情一区二区在线观看 | 国产女教师bbwbbwbbw| 91九色国产在线播放| 精品久久久久久国产91| 欧美国产日韩在线播放| 日韩黄色三级| 精品国精品国产| 中文字幕狠狠干| 色天天综合网| 久久久久亚洲精品| 无码人妻av一区二区三区波多野| 九九在线精品视频| 国产精品高清一区二区三区| 国产午夜精品一区理论片| 最近日韩中文字幕| 久久久999视频| 性爱视频在线播放| 亚洲高清视频的网址| 一区二区冒白浆视频| 一色桃子av在线| 狠狠久久亚洲欧美专区| 天天色综合社区| 免费观看成人性生生活片| 欧美日韩国产小视频| 中文字幕第3页| 久久国产影院| 8090成年在线看片午夜| 国产又色又爽又黄又免费| 日本不卡一区二区三区 | 极品国产人妖chinesets亚洲人妖| 亚洲性视频网站| 久久精品国产亚洲AV无码麻豆| 日本免费新一区视频| 国模一区二区三区私拍视频| 秋霞a级毛片在线看| 五月天久久比比资源色| 久久久久久久久久毛片| 夜色77av精品影院| 欧美极品少妇与黑人| 国产精品爽爽久久久久久| 久久精品人人做| 久久视频这里有精品| 精品国产乱码久久久久久樱花| 亚洲欧美精品一区| 国产午夜福利精品| 国产一区二区三区四区五区入口| 日本一区二区三区视频在线播放| 韩国成人二区| 欧美videos大乳护士334| 一级性生活免费视频| 日本欧美在线观看| 青青草成人网| 中文字幕在线看片| 亚洲精品国产免费| xxxxxx国产| 国产成人精品aa毛片| 在线观看精品视频| 懂色aⅴ精品一区二区三区| 亚洲美女福利视频网站| 日本中文在线播放| av资源网一区| 蜜桃传媒一区二区三区| 国产精品视频3p| 久久乐国产精品| 国产刺激高潮av| 亚洲高清免费在线| 日本美女视频网站| 亚洲国产精品嫩草影院久久av| 九九热这里只有精品6| 国产伦精品一区二区三区免.费 | 国产小视频在线观看免费| 国产精选一区二区三区| 国产欧美丝袜| 男女羞羞视频在线观看| 欧美本精品男人aⅴ天堂| 欧美人妻一区二区| 国产成人一区在线| 久久人人爽人人爽人人av| 国产欧美啪啪| 青青久久av北条麻妃海外网| 欧美亚洲日本| 欧美亚日韩国产aⅴ精品中极品| 丁香激情五月少妇| 很黄很黄激情成人| 国产高清一区视频| 国产直播在线| 在线成人中文字幕| 国产美女免费视频| 亚洲图片一区二区| 精品人妻一区二区三区香蕉| 丝袜亚洲另类欧美| 亚洲 欧洲 日韩| 日韩08精品| 一本色道久久综合亚洲精品小说 | 欧美精品一区在线观看| www欧美在线| 中文字幕第一区| 五月天婷婷在线观看视频| 欧美日本三区| 蜜桃av久久久亚洲精品| 欧美123区| 久久躁狠狠躁夜夜爽| 乱精品一区字幕二区| 欧美性猛交xxxx| 精品人体无码一区二区三区| 国产很黄免费观看久久| 国产成人a亚洲精v品无码| 日韩av久操| 国产精品区二区三区日本| 亚洲国产福利| 操91在线视频| 精品电影在线| 精品久久久久久久人人人人传媒 | 久久久无码精品亚洲国产| 久久丝袜美腿综合| 伊人精品视频在线观看| 亚洲精品偷拍| 欧美一级免费在线观看| 色橹橹欧美在线观看视频高清| 国产精品视频一区国模私拍| 乱插在线www| 最近2019中文字幕mv免费看| 内射无码专区久久亚洲| 欧美午夜精品电影| 日本中文字幕免费| 一色桃子久久精品亚洲| 久久亚洲AV成人无码国产野外 | 香蕉视频免费在线播放| 亚洲变态欧美另类捆绑| 一本一道精品欧美中文字幕| 欧美色另类天堂2015| 爱爱视频免费在线观看| 国产亚洲一本大道中文在线| 亚洲无人区码一码二码三码| 精品一区二区三区在线播放视频 | 久久99久国产精品黄毛片色诱| 男人添女人下部高潮视频在观看| 亚洲a在线视频| 亚洲黄色成人久久久| 群体交乱之放荡娇妻一区二区| 亚洲va久久久噜噜噜| 激情久久一区二区| 国产suv精品一区二区| 久久影院午夜精品| 久久久久久久久久久成人| 九色porny丨首页在线| 中文字幕欧美日韩va免费视频| 亚洲人妻一区二区| 精品国产一区二区在线观看| 国产一区二区波多野结衣 | jizz中国少妇| 51午夜精品国产| 97精品人妻一区二区三区在线 | 97精品视频| 亚洲精品欧美精品| 欧美日韩精品一区二区视频| 欧洲精品码一区二区三区免费看| 日韩成人午夜| 久久国产精品精品国产色婷婷| 精品久久97| 久久艹中文字幕| 伊人精品一区| 日本精品一区| 激情五月综合网| 午夜精品短视频| 日韩精品网站| 中日韩在线视频| 亚洲精品成人无限看| 成年人三级视频| 国产综合欧美| 美女日批免费视频| 小嫩嫩精品导航| 成人免费视频久久| 久久99这里只有精品| 黄色片免费网址| 成人午夜免费视频| 亚洲成人av免费在线观看| 91网站最新网址| 一级黄色片网址| 亚洲天堂av一区| 国产在线视频你懂的| 亚洲成人自拍一区| 久久久国产精品成人免费| 欧美日韩午夜激情| www.久久精品视频| 欧洲生活片亚洲生活在线观看| 中文在线观看免费高清| 欧美日韩大陆在线| av中文字幕播放| 亚洲精品国产电影| 青青草在线免费视频| 日韩精品在线免费观看视频| 国产小视频免费在线观看| 亚洲人成欧美中文字幕| 久久国产黄色片| 欧美在线不卡视频| 亚洲视频在线观看一区二区| 欧美日韩国产免费| www.黄色片| 日韩av在线网站| 国产精品四虎| 欧美第一黄网免费网站| 九色porny视频在线观看| 日本中文字幕成人| 欧洲精品99毛片免费高清观看| av电影成人| 九九视频免费观看视频精品| 国产又粗又爽又黄的视频| 国内自拍视频一区二区三区 | sm国产在线调教视频| 51视频国产精品一区二区| 日本一区二区三区视频在线| 91在线播放视频| 亚洲警察之高压线| 这里只有精品66| 羞羞视频在线观看欧美| av噜噜在线观看| 成人教育av在线| 大吊一区二区三区| 亚洲图片欧美一区| 中文字幕乱码视频| 亚洲精品在线观看视频| 91在线品视觉盛宴免费| 97在线看福利| 日韩三区四区| 国产综合第一页| 国产成人精品三级高清久久91| 午夜久久资源| 亚洲激情国产| 99re精彩视频| 国产亚洲成av人在线观看导航| 国产精品丝袜一区二区| 一区二区不卡在线播放 | 国产精品普通话对白| 日韩在线不卡一区| 26uuu色噜噜精品一区| 国产福利久久久| 在线综合视频播放| 日本一二三区在线视频| 高清欧美性猛交| 99久久这里有精品| 亚洲精品乱码视频| 另类亚洲自拍| 成年人小视频在线观看| 亚洲精品国产一区二区三区四区在线| 国产污视频网站| 日韩精品一区二区三区第95| heyzo在线| aaa级精品久久久国产片| 成人在线电影在线观看视频| 欧美一区三区二区在线观看| 欧美久久视频| 制服下的诱惑暮生| 国产精品久久久久久久裸模| 97久久久久久久| 亚洲欧美国产视频| 美女av在线免费看| 国产精品有限公司| 99国产精品久久久久久久成人热| 久久无码人妻一区二区三区| 中文字幕一区日韩精品欧美| 在线免费一区二区| 亚洲欧美日韩爽爽影院| 另类专区亚洲| 农村寡妇一区二区三区| 亚洲激情偷拍| 在线天堂www在线国语对白| 亚洲午夜一区二区三区| 秋霞网一区二区| 久久久久久久一区二区| 亚洲伊人精品酒店| 黄黄视频在线观看| 黄网站免费久久| 久久久久人妻一区精品色欧美| 日韩午夜激情视频| 国内精品久久久久久野外| 亚洲一区中文字幕在线观看| 在线精品国产| 免费一级特黄特色毛片久久看| 国产精品91xxx| 劲爆欧美第一页| 香蕉av在线播放| 欧美日韩激情在线一区二区三区| 国产精品8888| 国产精品911| 午夜精品三级久久久有码| 亚洲福利在线观看| 牛牛精品一区二区| 少妇特黄a一区二区三区| 免费国产亚洲视频| 麻豆疯狂做受xxxx高潮视频| 精品电影一区二区| 日本动漫同人动漫在线观看| 久久影院理伦片| 日韩成人午夜精品| 国产va在线播放| 亚洲第一区第二区| 精品91久久| 中国成人亚色综合网站| 高清在线观看日韩| 波多野结衣mp4| 久久精品国产视频| 青青一区二区| 国产又大又黄又粗又爽| 亚洲一二三区不卡| 欧美色18zzzzxxxxx| 日本最新高清不卡中文字幕| 午夜精品久久久久久久四虎美女版| 国产人妻精品久久久久野外| 欧美日韩亚洲精品内裤| 第一页在线观看| 亚洲影影院av| 午夜一区在线| 日韩精品一区二区亚洲av性色|