精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

一区二区三区av在线| 久久在线精品视频| 欧美 日韩精品| 精品久久国产视频| 欧美激情视频一区二区三区免费| 7777精品伊人久久久大香线蕉经典版下载| 伊人婷婷久久| 欧美 日韩 综合| 亚洲欧美成人综合| 正在播放国产一区| 又黄又爽又色的视频| 黄色在线视频网站| www.66久久| 国产97在线亚洲| 亚洲色图100p| 高清日韩欧美| 在线精品国精品国产尤物884a| 亚洲视频精品一区| 好吊色一区二区| 日韩黄色在线观看| 久久国内精品一国内精品| 亚洲视频天天射| 亚洲精品粉嫩美女一区| 亚洲狠狠丁香婷婷综合久久久| 成人蜜桃视频| 精品乱码一区内射人妻无码| 欧美午夜免费影院| 亚洲国产天堂久久综合网| 欧美日韩黄色一级片| 性开放的欧美大片| 波多野洁衣一区| 国产日韩欧美91| 日韩精品一区二区三| 精品视频99| 精品乱码亚洲一区二区不卡| 18岁视频在线观看| 日皮视频在线观看| 国产欧美1区2区3区| 国产精品久久7| 中文字幕一区二区在线视频 | 一级全黄裸体片| 日韩精品99| 亚洲1区2区3区视频| 天天综合中文字幕| 蜜桃视频在线免费| 国产宾馆实践打屁股91| 国产精品久久97| 国产午夜免费视频| 中国成人一区| 中文亚洲视频在线| 精品人妻少妇嫩草av无码| 精品中文字幕一区二区三区四区| 在线中文字幕不卡| 久久综合九色综合88i| 1区2区在线观看| 国产精品女上位| 欧美一区1区三区3区公司 | 肉丝袜脚交视频一区二区| 欧美国产日韩视频| 性色av无码久久一区二区三区| 久久93精品国产91久久综合| 日韩精品在线视频| 午夜不卡久久精品无码免费| 午夜视频在线观看精品中文| 欧美精品丝袜中出| 一起操在线视频| 国产极品久久久久久久久波多结野| 大桥未久av一区二区三区| 日本一本中文字幕| 欧美极品少妇videossex| 国产日韩欧美一区二区三区综合| 久久久久久久久久久久久9999| 男人天堂网在线视频| 国产91在线观看丝袜| 国产精品对白一区二区三区| 亚洲欧美激情国产综合久久久| 国产91精品一区二区麻豆网站| 国产日韩精品在线播放| 91麻豆成人精品国产| 九色综合狠狠综合久久| 国产美女精品视频| 91丨porny丨在线中文| 国产综合色产在线精品| 亚洲中国色老太| www黄色网址| 成人性视频免费网站| 国产美女精品在线观看| 亚洲欧美日本在线观看| 久久精品这里都是精品| 天堂资源在线亚洲视频| 欧美日韩xx| 伊人色综合久久天天人手人婷| 一区二区冒白浆视频| а√天堂在线官网| 亚洲国产人成综合网站| 免费 成 人 黄 色| 亚洲成人av观看| 69久久夜色精品国产69蝌蚪网 | 国产91露脸合集magnet| 精品一卡二卡三卡四卡日本乱码| 精品国自产拍在线观看| 久久综合九色综合97婷婷| 欧美少妇一区| 动漫一区在线| 天天综合天天综合色| 亚洲成人av免费看| 国产精品成人**免费视频| 精品国产一二三区| www色com| 韩国精品一区二区三区| 国产精品2018| 精品久久久无码中文字幕| av一区二区三区在线| 亚洲v国产v在线观看| bestiality新另类大全| 亚洲一区二区三区影院| 99视频精品免费| 成人免费一区| 69p69国产精品| aaaaaav| 久久久久美女| 欧美中在线观看| a级片在线播放| 久久综合九色综合97婷婷| 97超碰免费观看| 肉色欧美久久久久久久免费看| 欧美卡1卡2卡| a级片在线观看| 黄色精品免费| 成人字幕网zmw| 欧美在线一卡| 一区二区三区中文字幕在线观看| 国产又黄又猛视频| 国产乱论精品| yellow中文字幕久久| 日韩三级视频在线| 久久69国产一区二区蜜臀| 成人黄动漫网站免费| 中文字幕在线观看日本| 天天色综合天天| 日本在线视频播放| 国产伦精品一区二区三区视频| 欧美激情一区二区三区久久久 | 欧美在线观看视频一区二区| 无码av免费精品一区二区三区| 成人精品天堂一区二区三区| 国内精品一区二区三区| 国产男男gay体育生网站| 91麻豆免费看| 国产不卡一区二区视频| 日本一区二区三区视频在线看| 深夜福利亚洲导航| 91porny九色| 久久精品一二三| 青青青在线视频播放| 国产在线不卡一区二区三区| 永久免费精品影视网站| 久久久精品视频网站 | 精品国产老师黑色丝袜高跟鞋| 日本wwwxx| 影音先锋成人在线电影| 成人乱色短篇合集| 看黄网站在线观看| 欧美精品日日鲁夜夜添| www..com.cn蕾丝视频在线观看免费版| 99亚洲视频| 精品视频一区在线| 欧美13videosex性极品| 日韩av在线免费| 日本亚洲欧美在线| av电影在线观看不卡| 国产不卡一区二区视频| 天堂成人娱乐在线视频免费播放网站| 久久久久久91香蕉国产| 黄色片网站免费在线观看| 亚洲成av人综合在线观看| 少妇熟女视频一区二区三区 | 亚洲欧洲激情在线| 日韩成人高清视频| 91老司机福利 在线| 日韩人妻精品无码一区二区三区| 亚欧日韩另类中文欧美| 国产精品成人免费视频| 999国产在线视频| 欧美日韩夫妻久久| 久久久久久久久久97| 国产一区在线视频| 高清无码一区二区在线观看吞精| 岛国成人av| 国产91精品久久久久久久| 青草久久伊人| 欧美高清一级片在线| 91嫩草|国产丨精品入口| 韩国理伦片一区二区三区在线播放| 性做爰过程免费播放| 久9re热视频这里只有精品| 秋霞午夜一区二区| 欧美性天天影视| 精品粉嫩超白一线天av| 国产精品一区二区6| 国产亚洲福利社区一区| 日日干日日操日日射| 红桃视频国产精品| 欧美成人第一区| 成人高清一区| 久久免费国产精品1| 国产午夜精品一区理论片| 欧美精品1区2区| 国产成人在线免费观看视频| 国产精品欧美极品| 亚洲中文字幕无码一区| 日本强好片久久久久久aaa| 一区二区三区av| 欧美日韩一区二区三区四区不卡| 国产精品久久久久久亚洲影视| 最新av在线播放| 亚洲成人aaa| 91亚洲国产成人久久精品麻豆| 亚洲国产一区二区在线播放| 长河落日免费高清观看| 激情深爱一区二区| 成人在线观看黄| 欧美日本一区二区视频在线观看 | 中文字幕在线播放av| 亚洲成人免费在线观看| 欧美一级特黄高清视频| 91麻豆国产自产在线观看| 欧美三级理论片| 99国产精品久久久久久久成人热 | 91精品天堂福利在线观看| 精品国产免费久久久久久尖叫| 欧美日韩伦理一区二区| 18久久久久久| 羞羞污视频在线观看| 伊人青青综合网站| 亚洲AV第二区国产精品| 欧美刺激脚交jootjob| 国产伦精品一区二区三区视频我| 亚洲免费观看视频| 黄色激情小视频| 国产亚洲欧美日韩在线一区| 又黄又色的网站| 国产综合成人久久大片91| 国产又粗又长又大的视频| 亚洲一区久久| www.日本少妇| 亚洲午夜av| 日韩人妻一区二区三区蜜桃视频| 日韩精品诱惑一区?区三区| 欧美日韩综合精品| 亚洲春色h网| 欧美久久综合性欧美| 欧美美女在线直播| 精品产品国产在线不卡| youjizz亚洲| 国产精品国产精品国产专区不卡| 免费一级欧美片在线观看网站| 国产成人av网址| 日韩免费va| 国产成+人+综合+亚洲欧洲| www.成人影院| 88xx成人精品| 周于希免费高清在线观看| 高清欧美性猛交xxxx| а√天堂8资源在线| 久久久中文字幕| 久久男人av资源站| 2023亚洲男人天堂| 亚洲制服国产| 欧美日韩成人在线播放| 黑人另类精品××××性爽| 欧美激情第一页xxx| www在线看| 欧美一级大片视频| 中国色在线日|韩| 国产成人精品午夜| 久久69成人| 91手机视频在线观看| 日韩成人在线看| 狠狠色综合网站久久久久久久| 国产精品视频3p| 欧美成ee人免费视频| 欧美美女在线| 一区二区三区国| 亚洲欧美亚洲| 欧美v在线观看| 男人的天堂亚洲一区| 亚洲妇女无套内射精| 久久精品一区二区三区不卡牛牛| 欧美偷拍第一页| 一本大道av伊人久久综合| 国产精品综合在线| 亚洲精品久久久久久久久久久| 在线观看av的网站| 97av在线视频| 91麻豆精品| 欧美日韩精品不卡| 欧美99在线视频观看| 中文字幕永久视频| 国产91露脸合集magnet| 国产精品18在线| 欧美日韩国产精品| av老司机久久| 中文字幕最新精品| 国产精品迅雷| 国产精品我不卡| 成人在线免费观看视频| 国产精品333| 国产成人免费视频一区| 人人艹在线视频| 91成人免费在线| 免费在线毛片| 午夜精品久久久久久久99热浪潮 | 天天爽天天爽天天爽| 一本一本大道香蕉久在线精品| 亚洲av综合色区无码一区爱av| 亚洲午夜女主播在线直播| 黄色漫画在线免费看| 3d蒂法精品啪啪一区二区免费| av永久不卡| 少妇高清精品毛片在线视频| 成人福利在线看| 九九热精彩视频| 日韩一级片网址| 黄色网页在线免费看| 国产精品视频一区二区高潮| 一区二区三区日本久久久| 麻豆tv在线播放| 成人网页在线观看| 国产一卡二卡在线播放| 日韩精品一区二| 日本乱理伦在线| 7777精品伊久久久大香线蕉语言| 久久久精品久久久久久96| 性生生活大片免费看视频| 国产精品视频免费看| 一本色道久久综合无码人妻| 在线观看国产精品日韩av| 天堂久久午夜av| 先锋在线资源一区二区三区| 老鸭窝91久久精品色噜噜导演| 国产精品无码毛片| 欧美视频在线免费看| 色视频在线看| 国产精品av在线| re久久精品视频| 亚洲77777| 1000部国产精品成人观看| 国产乱色精品成人免费视频 | 特级片在线观看| 精品久久久久久久久久久院品网 | 亚洲综合色av| 欧美视频不卡| 欲求不满的岳中文字幕| 日韩欧中文字幕| 91社区在线高清| 成人性生交大片免费看小说| 欧美激情视频一区二区三区在线播放| 国产精品igao网网址不卡| 亚洲午夜激情av| 午夜成人免费影院| 国产成人精品网站| 国产精品久久久久久麻豆一区软件 | 成年人三级视频| 成人视屏免费看| 中文字幕第四页| 日日狠狠久久偷偷四色综合免费| 国产区一区二| 两根大肉大捧一进一出好爽视频| 国产亚洲人成网站| 国产精品久久久久久无人区| 欧美极品美女视频网站在线观看免费 | 一色桃子av在线| 精品乱子伦一区二区三区| 久久一区视频| 日韩av手机在线免费观看| 欧美精品一区二区三区视频| av资源亚洲| 国产911在线观看| 99国产精品视频免费观看| 一区二区视频网| 欧美国产日韩在线| 国产成人精品三级高清久久91| 国产3p在线播放| 婷婷成人激情在线网| 日韩在线观看www| 精品国产一区二区三区麻豆小说| 日韩精品五月天| 国产精品变态另类虐交| 在线视频精品一| 精品亚洲精品| 手机看片一级片| 精品久久久中文| 老司机午夜在线| 奇米视频888战线精品播放| 国产福利精品导航| 中文字幕一区二区久久人妻| 97精品一区二区三区| 91精品蜜臀一区二区三区在线| 在线 丝袜 欧美 日韩 制服|