ccache预处理器和直接模式有什么区别?

时间:2014-02-11 08:58:53

标签: ccache

AFAIK,预处理器模式很简单:你给ccache一个预处理源,它散列源和命令行args,然后存储所有相应的信息,比如stderr,目标文件等。

但什么是直接模式,为什么它更快?它背后的概念是什么?

2 个答案:

答案 0 :(得分:1)

“直接模式”中的“直接”是指“不使用预处理器直接读取头文件 ”。这样做是因为与只读取包含文件内容相比,大多数预处理器相对较慢。这是因为预处理器必须执行诸如扩展宏以生成正确的预处理输出之类的操作。出于ccache的目的,它足以识别头文件的内容,而不是在计算哈希值时正确预处理内容。

另请参阅ccache手册中的How ccache works部分。

答案 1 :(得分:0)

http://ccache.samba.org/performance.html

直接模式比缓存未命中的预处理器模式具有更高的开销,但是对于缓存命中要快得多 希望这会对你有所帮助。