[討論] GCC、Clang使用C++編寫?

看板Soft_Job作者 (void (*一資米)())時間5年前 (2020/04/18 00:59), 5年前編輯推噓7(7018)
留言25則, 9人參與, 5年前最新討論串1/1
是這樣的。 GNU GCC 原本使用C語言編寫,隨著Clang、LLVM的崛起, 改由C++編寫,Ian Lance Taylor也表示C++效能不會輸給C 而且能設計出更好,更容易維護的程式。 但本魯很不解,C++複雜的程度遠遠超過C,為何還能設計出效能 不亞於使用C編寫的編譯器??? 有大大能夠解或嗎???? 感謝各位大神了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.59.242 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1587142763.A.82F.html ※ 編輯: Matz (1.161.59.242 臺灣), 04/18/2020 00:59:50

04/18 01:02, 5年前 , 1F
有哪裡測試數據說效能不輸阿
04/18 01:02, 1F

04/18 02:01, 5年前 , 2F
查到一篇 sort 比 qsort 快
04/18 02:01, 2F

04/18 02:01, 5年前 , 3F

04/18 02:03, 5年前 , 4F
這一篇有 Ian Lance Taylor 的簡報連結
04/18 02:03, 4F

04/18 02:04, 5年前 , 5F

04/18 02:11, 5年前 , 6F
整理一下第一個連結,以 sort, qsort 為例子。
04/18 02:11, 6F

04/18 02:11, 5年前 , 7F
C++ STL sort 用 template 實踐可以在 compile time 生出程
04/18 02:11, 7F

04/18 02:11, 5年前 , 8F
式碼,讓編譯器最佳化。
04/18 02:11, 8F

04/18 02:11, 5年前 , 9F
C 的 qsort 因為 comparator 需要傳入 function pointer ,
04/18 02:11, 9F

04/18 02:11, 5年前 , 10F
所以無法在 compile time 最佳化。
04/18 02:11, 10F

04/18 02:14, 5年前 , 11F
從第二個連結看來 Ian 應該是指需要擔心效能的地方一樣用 C
04/18 02:14, 11F

04/18 02:14, 5年前 , 12F
寫,其餘用 C++ 好維護。
04/18 02:14, 12F

04/18 11:34, 5年前 , 13F
感謝大大幫忙
04/18 11:34, 13F

04/18 13:21, 5年前 , 14F
簡單來說 C++把盡量能先算完的都丟到compile time先
04/18 13:21, 14F

04/18 13:21, 5年前 , 15F
04/18 13:21, 15F

04/18 17:46, 5年前 , 16F
..............................
04/18 17:46, 16F

04/18 20:19, 5年前 , 17F
gcc llvm 都有做 const folding const propagation,comp
04/18 20:19, 17F

04/18 20:19, 5年前 , 18F
ile time 能做的也做了很多
04/18 20:19, 18F

04/18 20:20, 5年前 , 19F
我倒覺得是在 compiler 越來越厲害的情況下用 c++ 能寫出
04/18 20:20, 19F

04/18 20:20, 5年前 , 20F
來的程式效能差距不大
04/18 20:20, 20F

04/18 20:47, 5年前 , 21F
編譯時間clang不一定比較快,問題是gcc是GPL license
04/18 20:47, 21F

04/18 22:45, 5年前 , 22F
gcc 是 gpl 這對一般不是做 compiler 的有什麼問題嗎
04/18 22:45, 22F

04/18 22:46, 5年前 , 23F
你不會以為 gcc build 出來的 binary 會感染 GPL 吧 XD
04/18 22:46, 23F

04/19 02:58, 5年前 , 24F
會影響developer的人數
04/19 02:58, 24F

04/19 18:10, 5年前 , 25F
gcc 通常編比較快吧
04/19 18:10, 25F
文章代碼(AID): #1UcU1hWl (Soft_Job)