ccache

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

ссache (сикэш) — хэширующий препроцессор компиляторов языка С и С++ для GNU/Linux.

Использование ссache может значительно ускорить сборку некоторых пакетов или проектов, которые компилируются несколько раз, так как заново компилироваться будут только файлы, которые изменились с последней компиляции.


Содержание

Принцип работы

При компилировании какого-либо файла вычисляется его хэш и, если такой файл уже присутствует в реестре скомпилированных файлов, то он не будет компилироваться заново, а будет использоваться старый бинарный файл.

Это ускоряет сборку некоторых пакетов в 5-10 раз.

При этом учитываются разные версии компилятора и опции сборки. Это означает, что, если вы однажды собрали проект с оптимизацией -О2, использовав при этом ссache, то при сборке с оптимизацией -О3 файл будет компилироваться заново, при этом в реестре ссache старый файл сохранится, но добавится и новый.

Неправильно скомпилированные файлы

Учтите, что если какой-то файл будет единожды скомпилирован неправильно, то при повторном компилировании без изменений параметров он не будет исправлен.

Этого можно избежать, удалив файлы из кэша. Папка, где хранится кэш по умолчанию — $homedir/.ccache/

Вы будете вынуждены удалить все файлы т.к. они будут сортированы по хешу из исходных файлов для более быстрого поиска и Вы не сможете отличить необходимый Вам файл.

Это можно сделать командой

#ccache -C

Близкие проекты

сcache активно используется в Gentoo и других source-based дистрибутивах:


Для ускорения сборки пакетов также существует Distcc.

Ссылки

it:Ccache pl:ccache fr:ccache en:ccache

Источник — «http://www.sbup.com/wiki/Ccache»
Личные инструменты

Served in 0.041 secs.