PTT推薦

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

看板Soft_Job標題[討論] GCC、Clang使用C++編寫?作者
Matz
(void )
時間推噓 7 推:7 噓:0 →:18

是這樣的。

GNU GCC 原本使用C語言編寫,隨著Clang、LLVM的崛起,
改由C++編寫,Ian Lance Taylor也表示C++效能不會輸給C
而且能設計出更好,更容易維護的程式。

但本魯很不解,C++複雜的程度遠遠超過C,為何還能設計出效能
不亞於使用C編寫的編譯器???

有大大能夠解或嗎????

感謝各位大神了。

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.59.242 (臺灣)
PTT 網址
※ 編輯: Matz (1.161.59.242 臺灣), 04/18/2020 00:59:50

lunasdejavu04/18 01:02有哪裡測試數據說效能不輸阿

SMMIT04/18 02:01查到一篇 sort 比 qsort 快

SMMIT04/18 02:03這一篇有 Ian Lance Taylor 的簡報連結

SMMIT04/18 02:11整理一下第一個連結,以 sort, qsort 為例子。

SMMIT04/18 02:11C++ STL sort 用 template 實踐可以在 compile time 生出程

SMMIT04/18 02:11式碼,讓編譯器最佳化。

SMMIT04/18 02:11C 的 qsort 因為 comparator 需要傳入 function pointer ,

SMMIT04/18 02:11所以無法在 compile time 最佳化。

SMMIT04/18 02:14從第二個連結看來 Ian 應該是指需要擔心效能的地方一樣用 C

SMMIT04/18 02:14 寫,其餘用 C++ 好維護。

Matz04/18 11:34感謝大大幫忙

prokofieff04/18 13:21簡單來說 C++把盡量能先算完的都丟到compile time先

prokofieff04/18 13:21

superpandal04/18 17:46..............................

plsmaop04/18 20:19gcc llvm 都有做 const folding const propagation,comp

plsmaop04/18 20:19ile time 能做的也做了很多

plsmaop04/18 20:20我倒覺得是在 compiler 越來越厲害的情況下用 c++ 能寫出

plsmaop04/18 20:20來的程式效能差距不大

a1u1usul304/18 20:47編譯時間clang不一定比較快,問題是gcc是GPL license

Bencrie04/18 22:45gcc 是 gpl 這對一般不是做 compiler 的有什麼問題嗎

Bencrie04/18 22:46你不會以為 gcc build 出來的 binary 會感染 GPL 吧 XD

a1u1usul304/19 02:58會影響developer的人數

flypaper04/19 18:10gcc 通常編比較快吧