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

Publicado por Matheus em 17/04/2019

[ Hits: 2.475 ]

 


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

Interpolação de Vídeos Diretamente no Smartphone

Zenpower - Informações Detalhadas de Processadores Ryzen

Pacotes binários no Gentoo Linux

Focus stacking em GNU/Linux

Snapshots BTRFS no GRUB

Leitura recomendada

Correções em mod_ssl RSA blinding

Alterando o idioma do Sabayon

Personalizando o menu do Fluxbox

Configurando o xorg.conf no Ubuntu Hardy (8.04)

Slackware com resolução 1280x768

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts