ccache cache miss сильно замедляет компиляцию

Только начал использовать ccache на основе этого руководства, и пока оно мне нравится. Тем не менее, промахи кеша выполняются очень медленно. Вот мои результаты:

Regular clean build without ccache : 1m40s
First build with ccache : 4m36s
Second build with ccache : 30s

Я не уверен, с чего начать отладку. На странице производительности (https://ccache.samba.org/performance.html) упоминается, как сложность файла make может замедлить компиляцию, но в этом контексте я использую Xcode, поэтому вызов ccache должен быть относительно быстрым. Я ожидал некоторого снижения производительности, но не настолько!

Вот мои текущие настройки с использованием версии 3.2.5:

export CCACHE_MAXSIZE=3G
export CCACHE_HARDLINK=true
export CCACHE_SLOPPINESS=pch_defines,file_macro,time_macros,include_file_mtime,include_file_ctime,file_stat_matches

Обратите внимание, что я использую pch, если это что-то меняет.


person gcamp    schedule 27.06.2016    source источник
comment
Где находится ваш каталог ccache? Я предполагаю, что ваш каталог ccache находится на удаленном компьютере (например, nfs) и вызывает низкую производительность.   -  person Mine    schedule 30.06.2016
comment
Это в моем домашнем каталоге, так что это не проблема.   -  person gcamp    schedule 30.06.2016


Ответы (1)


Вы можете запустить команду «ccache -s», чтобы просмотреть статистику.

И из экспериментов в конце этой ветки ошибок ccache https://github.com/ccache/ccache/issues/54, попробуйте уменьшить количество используемых компиляторов параллельных ядер, может помочь, основной причиной может быть блокировка файлов несколькими процессами.

person Ranger Wu    schedule 30.06.2016
comment
Ничего плохого я не вижу в статистике. Попробую уменьшить количество параллельных ядер и отчитаюсь! - person gcamp; 30.06.2016
comment
@gcamp, ты смог решить эту проблему? Уменьшение количества параллельных ядер не кажется хорошей идеей для проекта с 3500 файлами. - person Vivek Kumar; 17.09.2020