作者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/cn.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