【发布时间】:2015-04-20 20:26:29
【问题描述】:
我有一个项目使用了相当多的 C++ 模板元编程。这使得编译时间变长。我知道我不能吃蛋糕也不能吃,但我想知道一些关于如何减少编译时间的提示和技巧。我已经尝试过显式实例化,虽然这在某些情况下可能会有所帮助,但很多时候,实例对于特定的编译单元是唯一的,在这种情况下,显式实例化没有任何帮助。现在我们只讨论 Clang,它做得很好。当我在 G++ 上尝试这个时,编译时间会爆炸。对于一个文件,我放弃等待它在 45 分钟后编译。
- 在模板元编程方面是否有任何常见的罪魁祸首,众所周知,这些问题经常出现问题?我应该避免哪些技术,应该怎么做?
- 是否已知 GCC 的性能比 Clang 差,有什么方法可以解决这个问题?
我主要使用普通的 C++11 技术,我不使用 Boost MPL 或类似的库。
【问题讨论】:
标签: c++ gcc clang template-meta-programming