Buildcache: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 114: Строка 114:
|-
|-
|-
|-
|  
| 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
|-
 
|-
|
|
|
|
|-
 
|-
|
|
|
|
|-
|-
|}
|}

Версия от 15:11, 7 декабря 2020

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