1
要加快gcc的編譯時間,我們有兩個選擇:ccache是否完全超越gcc的預編譯頭文件?
- 的ccache
- gcc的預編譯頭
不過,我不知道這是在什麼情況下更好。
我已經使用了這個問題,並得到了一些模糊的印象,ccache完全優於其他。是對的嗎?
要加快gcc的編譯時間,我們有兩個選擇:ccache是否完全超越gcc的預編譯頭文件?
不過,我不知道這是在什麼情況下更好。
我已經使用了這個問題,並得到了一些模糊的印象,ccache完全優於其他。是對的嗎?
預編譯頭文件和ccache用於完全不同的用例。 ccache可以與預編譯頭一起使用,它們不是互斥的。
ccache緩存整個給定的源文件,標題和全部,緩存編譯後的對象模塊。從技術上講,ccache需要整個預處理源翻譯單元,對其進行散列並緩存結果對象模塊。
當不同的源翻譯單元重複使用相同的頭文件時,預編譯頭可節省一點時間。但是,如果相同的源代碼被重複編譯,預編譯頭文件不會有幫助(超出使用預編譯頭文件的唯一好處)。這就是ccache進來的地方,ccache悄悄地跳過了整個編譯階段,只是從緩存中獲取以前編譯的目標模塊。
因此,比較哪種方法更好,ccache或預編譯頭文件沒有意義。他們解決兩個不同的問題。