看板 Soft_Job 關於我們 聯絡資訊
是這樣的。 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
lunasdejavu: 有哪裡測試數據說效能不輸阿 04/18 01:02
SMMIT: 查到一篇 sort 比 qsort 快 04/18 02:01
SMMIT: 這一篇有 Ian Lance Taylor 的簡報連結 04/18 02:03
SMMIT: https://lwn.net/Articles/542457/ 04/18 02:04
SMMIT: 整理一下第一個連結,以 sort, qsort 為例子。 04/18 02:11
SMMIT: C++ STL sort 用 template 實踐可以在 compile time 生出程 04/18 02:11
SMMIT: 式碼,讓編譯器最佳化。 04/18 02:11
SMMIT: C 的 qsort 因為 comparator 需要傳入 function pointer , 04/18 02:11
SMMIT: 所以無法在 compile time 最佳化。 04/18 02:11
SMMIT: 從第二個連結看來 Ian 應該是指需要擔心效能的地方一樣用 C 04/18 02:14
SMMIT: 寫,其餘用 C++ 好維護。 04/18 02:14
Matz: 感謝大大幫忙 04/18 11:34
prokofieff: 簡單來說 C++把盡量能先算完的都丟到compile time先 04/18 13:21
prokofieff: 算 04/18 13:21
superpandal: .............................. 04/18 17:46
plsmaop: gcc llvm 都有做 const folding const propagation,comp 04/18 20:19
plsmaop: ile time 能做的也做了很多 04/18 20:19
plsmaop: 我倒覺得是在 compiler 越來越厲害的情況下用 c++ 能寫出 04/18 20:20
plsmaop: 來的程式效能差距不大 04/18 20:20
a1u1usul3: 編譯時間clang不一定比較快,問題是gcc是GPL license 04/18 20:47
Bencrie: gcc 是 gpl 這對一般不是做 compiler 的有什麼問題嗎 04/18 22:45
Bencrie: 你不會以為 gcc build 出來的 binary 會感染 GPL 吧 XD 04/18 22:46
a1u1usul3: 會影響developer的人數 04/19 02:58
flypaper: gcc 通常編比較快吧 04/19 18:10