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

Publicado por Matheus em 17/04/2019

[ Hits: 2.489 ]

 


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

Broadcom BCM4113 em Gentoo Linux

Plymouth no Arch Linux

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

Focus stacking em GNU/Linux

Leitura recomendada

loadlin - Inicializando o Linux a partir do Windows

Uma maneira diferente de escrever o dhcpd.conf

Java da Oracle no Google Chrome

Atalho de teclado para aumentar e diminuir o brilho da tela

Desabilitar montagem automática de dispositivos no Ubuntu 10.04

  

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