ccache
ссache (сикэш) — хэширующий препроцессор компиляторов языка С и С++ для GNU/Linux.
Использование ссache может значительно ускорить сборку некоторых пакетов или проектов, которые компилируются несколько раз, так как заново компилироваться будут только файлы, которые изменились с последней компиляции.
Принцип работы
При компилировании какого-либо файла вычисляется его хэш и, если такой файл уже присутствует в реестре скомпилированных файлов, то он не будет компилироваться заново, а будет использоваться старый бинарный файл.
Это ускоряет сборку некоторых пакетов в 5-10 раз.
При этом учитываются разные версии компилятора и опции сборки. Это означает, что, если вы однажды собрали проект с оптимизацией -О2, использовав при этом ссache, то при сборке с оптимизацией -О3 файл будет компилироваться заново, при этом в реестре ссache старый файл сохранится, но добавится и новый.
Неправильно скомпилированные файлы
Учтите, что если какой-то файл будет единожды скомпилирован неправильно, то при повторном компилировании без изменений параметров он не будет исправлен.
Этого можно избежать, удалив файлы из кэша. Папка, где хранится кэш по умолчанию — $homedir/.ccache/
Вы будете вынуждены удалить все файлы т.к. они будут сортированы по хешу из исходных файлов для более быстрого поиска и Вы не сможете отличить необходимый Вам файл.
Это можно сделать командой
#ccache -C
Близкие проекты
сcache активно используется в Gentoo и других source-based дистрибутивах:
Для ускорения сборки пакетов также существует Distcc.
Ссылки
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....