Aceleração (re)compilações no Gentoo

Publicado por Matheus em 17/04/2019

[ Hits: 1.616 ]

 


Aceleração (re)compilações no Gentoo



Normalmente você iria recompilar o programa inteiro toda vez que atualizar e/ou trocar uma flag, a menos que você leia essa dica e faça uso do ccache. Como o nome diz ele é um cache... de objetos C compilados anteriormente. Basicamente ele mantém partes dos programas compilados e numa recompilação, essas partes podem ser reutilizadas.

Instalação:

# emerge -av ccache

Crie uma pasta para guardar o cache e dê permissão ao portage, pode ser em qualquer lugar:

# mkdir /etc/portage/ccache/
# chown -v root:portage /etc/portage/ccache


Utilização

Adicione ao make.conf para que o portage faça efetiva utilização do ccache:

FEATURES="ccache"
CCACHE_DIR="/etc/portage/ccache"

E finalmente a configuração do ccache em si:

# nano /etc/portage/ccache/ccache.conf

# Maximum cache size to maintain
max_size = 50.0G

# Allow others to run 'ebuild' and share the cache.
umask = 002

# Preserve cache across GCC rebuilds and
# introspect GCC changes through GCC wrapper.
compiler_check = %compiler% -v

# I expect 1.5M files. 300 files per directory.
cache_dir_levels = 3

A única mudança que você vai provavelmente fazer é no tamanho máximo do cache, de qualquer modo tenha em mente que esse espaço não fica pré-alocado.

Comece a compilar...

Exemplos:

genlop -t vlc
 * media-video/vlc

     Mon Apr 15 05:13:35 2019 >>> media-video/vlc-3.0.6-r1
       merge time: 16 minutes and 35 seconds.

     Mon Apr 15 15:26:11 2019 >>> media-video/vlc-3.0.6-r1
       merge time: 9 minutes and 40 seconds.

genlop -t ffmpeg
 * media-video/ffmpeg

     Sat Apr 13 17:22:51 2019 >>> media-video/ffmpeg-3.4.5
       merge time: 27 minutes and 51 seconds.

     Sun Apr 14 04:30:20 2019 >>> virtual/ffmpeg-9-r2
       merge time: 8 seconds.

     Mon Apr 15 13:48:22 2019 >>> media-video/ffmpeg-3.4.5
       merge time: 12 minutes and 21 seconds.

Aqui estou usando em um SSD, então a leitura é ridiculamente rápida. Em um HD os resultados tendem a ser menos expressivos pois o portage vai levar mais tempo para checar se pode reutilizar ou deve compilar o código de novo.

Outras dicas deste autor

Acessando o smartphone via mosh

Como descobrir o pacote dono do arquivo no Gentoo

Fish Shell como padrão respeitando o /etc/profile

Broadcom BCM4113 em Gentoo Linux

Pacotes binários no Gentoo Linux

Leitura recomendada

Floppies no Debian Sarge

fcitx - Resolvendo problema com acentuação

Instalando driver da nVidia no Ubuntu utilizando o instalador oficial

Como corrigir erro "Arquivo '/grub2/grubenv' não encontrado" no Grub2 do Fedora 21

Repositórios oficiais do Skype para GNU/Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário