测试环境
IDE: clion 系统 ubuntu18.04 使用的代码:含有数个模板头的小工程
使用 gcc7.3 编译
| | 完整编译整个项目 | 修改含有模板的.h 文件后编译 |
| 不使用预编译头 | 14 s | 13 s |
| 使用预编译头 | 19 s | 12 s |
使用 gcc9.1 编译
| | 完整编译整个项目 | 修改含有模板的.h 文件后编译 |
| 不使用预编译头 | 12 s | 11 s |
| 使用预编译头 | 18 s | 10 s |
使用 clang8 编译
| | 完整编译整个项目 | 修改含有模板的.h 文件后编译 |
| 不使用预编译头 | 8 s | 8 s |
| 使用预编译头 | 10 s | 7 s |
上表结论
- gcc 版本越新编译速度越快,上面测试项目 9 比 7 快 15%左右
- 新版 clang 比新版 gcc 编译速度快,上面测试项目快 35%左右
- 使用预编译头比不使用第一次编译要慢(慢很多),但修改代码再次编译速度要比不使用快(快一点)