Bitcoin-Core-Development

什麼是ccache?在建構和審查比特幣核心 PR 時,我應該什麼時候使用它?

  • June 14, 2021

什麼是ccache?您能否就何時使用它來建構比特幣核心 PR 以及如何使用它提供一些指導?

工具 ccache 有助於儲存中間編譯結果,因此如果您經常更改分支並重新建構,它可以顯著加快這樣做的速度。

要使用它,您ccache需要為您的平台安裝。而已。比特幣核心配置腳本將檢測它的存在,並自動使用它。

ccache是一個編譯器記憶體。

它通過記憶體以前的編譯並檢測何時再次完成相同的編譯來加速重新編譯。

dbcache不同,分配多少 ccache 的決定並不重要。比特幣核心生產力文件確實建議您將這樣的內容放入~/.ccache/ccache.conf

max_size = 50.0G  # or whatever cache size you prefer; default is 5G; 0 means unlimited

base_dir = /home/yourname  # or wherever you keep your source files

注意:ccache 需要 base_dir 才能在不同的儲存庫/路徑中共享同一文件的記憶體編譯;它只會對 base_dir 下的路徑執行此操作。所以這個選項是有效使用 git worktrees 的 ccache 所必需的。

您不得將 base_dir 設置為“/”,或任何包含系統標頭的位置(根據 ccache 文件)。

使用 似乎沒有任何明顯的缺點ccache但是在 ccache站點上有幾個警告。

編譯器正在移動目標。較新的編譯器版本可能並且經常會引入 ccache 無法預見的功能。

最快的模式(“直接模式”)有一個極端情況,可能導致誤報記憶體命中。

一般來說,雖然看起來你可以安裝它(如 Pieter 所說)而忘記它,這將節省你編譯比特幣核心 PR 的時間。

有關加速 C++ 編譯的其他資訊,請參閱 Martin Hořeňovský 的這篇出色的部落格文章

引用自:https://bitcoin.stackexchange.com/questions/99097