- ccache
-
ccache
ccache 3.1.6 в среде Gentoo LinuxТип кэш компилятора
Разработчик Операционная система Аппаратная платформа Последняя версия 3.1.6 (21 августа 2011)
Лицензия Сайт ссache (от англ. compiler cache; произносится «сикэш») — кэш компиляторов языка С и С++ для Linux и других Unix-подобных систем.
Использование ссache может значительно ускорить сборку некоторых пакетов или проектов, которые компилируются несколько раз, так как заново компилироваться будут только файлы, которые изменились с последней компиляции.
Содержание
Принцип работы
При компилировании какого-либо файла вычисляется его хэш и, если такой файл уже присутствует в реестре скомпилированных файлов, то он не будет компилироваться заново, а будет использоваться старый бинарный файл. Это может ускорить сборку некоторых пакетов в 5—10 раз.
При этом учитываются разные версии компилятора и опции сборки. Это означает, что, если вы однажды собрали проект с оптимизацией -О2, использовав при этом ссache, то при сборке с оптимизацией -О3 файл будет компилироваться заново, при этом в реестре ссache старый файл сохранится, но добавится и новый.
Неправильно скомпилированные файлы
Если какой-либо файл будет единожды скомпилирован неправильно, то при повторном компилировании без изменений параметров он не будет исправлен. Этого можно избежать, удалив файлы из кэша. Директория, где хранится кэш по умолчанию — $homedir/.ccache/. Для очистки необходимо удалить все файлы, так как они сортированы по хешу из исходных файлов для более быстрого поиска и искомый файл невозможно отличить от других. Это можно сделать командой ccache -C.
Близкие проекты
сcache активно используется в Gentoo и других source-based дистрибутивах:
Для ускорения сборки пакетов также существует Distcc.
Ссылки
Категории:- Программное обеспечение по алфавиту
- Свободные инструменты для разработки программного обеспечения
- Инструменты компиляции
Wikimedia Foundation. 2010.