Мы используем Bazel для создания изображений разделения и дисков. Индивидуальные разделы построены на нескольких этапах сборки и собираются в дисковое изображение в конце. Размер составляет 1-10% от их логического размера.
Например: размер 100 ГБ, но только 2 ГБ на диске. < /p>
Когда Bazel вычисляет дайджест изображений, Он не может воспользоваться разреженным характером файла и читает гигантские отверстия, которые очень медленные. Создание изображений довольно быстрое, поэтому кэширование артефакта даже не требуется.
Реализация пользовательской функции Digest и использования -unix_digest_hash_attribute_name -мне сказали, что вычисляемое значение дигеста должно соответствовать тому, что то, что -digest_function , поэтому мы не можем реализовать Пользовательская функция Digest. < /li>
В то время как DigestFunction in remote_execution.proto имеет несколько функций дигеста, которые можно легко реализовать для оптимальной работы с разреженными файлами, они недоступны в регистрации Hashfunction. Доступны только Blake3, SHA1 и SHA256. Базель все еще пересекает весь выходной каталог и вычисляет дайджест для каждого файла. /p>
Создание и поддержание пользовательской реализации Blake3. < /li>
Слияние наших этапов сборки. Мы все еще хотели бы воспользоваться параллелизмом действия Базеля и построить изображения параллельно. >
мы создаем файл TAR после каждого шага сборки и разжигаем их, когда хотим работать с содержимым на следующем этапе сборки. Это делает расчет дигеста быстрее, но добавляет сложность кода и ненужную работу/замедление к нашим сборкам. Кроме того, артефакты несколько более громоздки для проверки, потому что их нужно сначала не опекать.
Подробнее здесь: https://stackoverflow.com/questions/794 ... es-is-slow
Расчет Bazel Digest расчет больших разреженных файлов медленно ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как исправить Bazel «все еще пытаться подключиться к локальному серверу Bazel» на Mac OS?
Anonymous » » в форуме JAVA - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-