作者Matz (void (*一資米)())
看板Soft_Job
標題[討論] GCC、Clang使用C++編寫?
時間Sat Apr 18 00:59:21 2020
是這樣的。
GNU GCC 原本使用C語言編寫,隨著Clang、LLVM的崛起,
改由C++編寫,Ian Lance Taylor也表示C++效能不會輸給C
而且能設計出更好,更容易維護的程式。
但本魯很不解,C++複雜的程度遠遠超過C,為何還能設計出效能
不亞於使用C編寫的編譯器???
有大大能夠解或嗎????
感謝各位大神了。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.59.242 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1587142763.A.82F.html
※ 編輯: Matz (1.161.59.242 臺灣), 04/18/2020 00:59:50
1F:推 lunasdejavu: 有哪裡測試數據說效能不輸阿 04/18 01:02
2F:推 SMMIT: 查到一篇 sort 比 qsort 快 04/18 02:01
4F:→ SMMIT: 這一篇有 Ian Lance Taylor 的簡報連結 04/18 02:03
6F:→ SMMIT: 整理一下第一個連結,以 sort, qsort 為例子。 04/18 02:11
7F:→ SMMIT: C++ STL sort 用 template 實踐可以在 compile time 生出程 04/18 02:11
8F:→ SMMIT: 式碼,讓編譯器最佳化。 04/18 02:11
9F:→ SMMIT: C 的 qsort 因為 comparator 需要傳入 function pointer , 04/18 02:11
10F:→ SMMIT: 所以無法在 compile time 最佳化。 04/18 02:11
11F:→ SMMIT: 從第二個連結看來 Ian 應該是指需要擔心效能的地方一樣用 C 04/18 02:14
12F:→ SMMIT: 寫,其餘用 C++ 好維護。 04/18 02:14
13F:→ Matz: 感謝大大幫忙 04/18 11:34
14F:推 prokofieff: 簡單來說 C++把盡量能先算完的都丟到compile time先 04/18 13:21
15F:→ prokofieff: 算 04/18 13:21
16F:→ superpandal: .............................. 04/18 17:46
17F:推 plsmaop: gcc llvm 都有做 const folding const propagation,comp 04/18 20:19
18F:→ plsmaop: ile time 能做的也做了很多 04/18 20:19
19F:→ plsmaop: 我倒覺得是在 compiler 越來越厲害的情況下用 c++ 能寫出 04/18 20:20
20F:→ plsmaop: 來的程式效能差距不大 04/18 20:20
21F:推 a1u1usul3: 編譯時間clang不一定比較快,問題是gcc是GPL license 04/18 20:47
22F:推 Bencrie: gcc 是 gpl 這對一般不是做 compiler 的有什麼問題嗎 04/18 22:45
23F:→ Bencrie: 你不會以為 gcc build 出來的 binary 會感染 GPL 吧 XD 04/18 22:46
24F:→ a1u1usul3: 會影響developer的人數 04/19 02:58
25F:推 flypaper: gcc 通常編比較快吧 04/19 18:10