Buildcache
Версия от 18:11, 7 декабря 2020; Savin (обсуждение | вклад)
Buildcache
Это простой "ускоритель" компилятора, который кэширует и повторно использует результаты сборки, чтобы избежать ненужных повторных компиляций и тем самым ускорить процесс сборки. Начиная с версии пакета gcc-common >= 1.4.27-alt1, воспользоваться buildcache'ом можно установив переменную окружения GCC_USE_BUILDCACHE=1:
$export GCC_USE_BUILDCACHE=1
(для ccache аналогично: $export GCC_USE_CCACHE=1)
Конфигурация
BuildCache можно настроить с помощью переменных окружения и файла конфигурации JSON ($ HOME / .buildcache / config.json). Следующие параметры управляют поведением BuildCache:
Env | JSON | Описание | По умолчанию |
---|---|---|---|
BUILDCACHE_DIR | - | Корневая директория кэша | $HOME/.buildcache |
BUILDCACHE_PREFIX | prefix | Prefix command for cache misses | None |
BUILDCACHE_REMOTE | remote | Адрес удалённого кэш сервера (protocol://host:port/path, где протокол это redis или s3, а port и path опциональны) | None |
BUILDCACHE_ACCURACY | accuracy | Точность (см. Ниже) | DEFAULT |
BUILDCACHE_CACHE_LINK_COMMANDS | cache_link_commands | Enable caching of link commands | false |
BUILDCACHE_COMPRESS | compress | Разрешить использование сжатия при кешировании (отменяет жесткие ссылки) | false |
BUILDCACHE_COMPRESS_FORMAT | compress_format | Формат сжатия кеша (см. Ниже) | DEFAULT |
BUILDCACHE_COMPRESS_LEVEL | compress_level | Уровень сжатия кеша (см. Ниже) | -1 |
BUILDCACHE_DEBUG | debug | Уровень отладки | None |
BUILDCACHE_DISABLE | disable | Отключить кеширование (обходить Buildcache) | false |
BUILDCACHE_HARD_LINKS | hard_links | Разрешить использование жестких ссылок при кешировании | false |
BUILDCACHE_HASH_EXTRA_FILES | hash_extra_files | Дополнительные файлы, содержимое которых нужно добавить в хеш. | None |
BUILDCACHE_IMPERSONATE | impersonate | Explicitly set the executable to wrap | None |
BUILDCACHE_LOG_FILE | log_file | Путь к файлу журнала (пустой для стандартного вывода) | None |
BUILDCACHE_LUA_PATH | lua_paths | Extra path(s) to Lua wrappers | None |
BUILDCACHE_MAX_CACHE_SIZE | max_cache_size | Ограничение размера кеша в байтах | 5368709120 |
BUILDCACHE_MAX_LOCAL_ENTRY_SIZE | max_local_entry_size | Ограничение размера записи локального кэша в байтах (без сжатия) | 134217728 |
BUILDCACHE_MAX_REMOTE_ENTRY_SIZE | max_remote_entry_size | Ограничение размера записи удаленного кэша в байтах (без сжатия) | 134217728 |
BUILDCACHE_PERF | perf | Enable performance logging | false |
BUILDCACHE_READ_ONLY | read_only | Только читать и использовать кеш, не обновляя его | false |
BUILDCACHE_READ_ONLY_REMOTE | read_only_remote | Только чтение и использование удаленного кеша без его обновления (подразумевается BUILDCACHE_READ_ONLY) | false |
BUILDCACHE_REMOTE_LOCKS | remote_locks | Использовать (потенциально более медленный) механизм блокировки файлов, который безопасен, если локальный кеш находится на общей папке. | false |
BUILDCACHE_S3_ACCESS | s3_access | S3 access key | None |
BUILDCACHE_S3_SECRET | s3_secret | S3 secret key | None |
BUILDCACHE_TERMINATE_ON_MISS | terminate_on_miss | Прекратить сборку, если запись в кеше не найдена | false |