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

Publicado por Matheus em 17/04/2019

[ Hits: 492 ]

 


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

Snapshots BTRFS no GRUB

Eix em terminal branco [Resolvido]

Carregar os binários e libs na RAM

Como descobrir o pacote dono do arquivo no Gentoo

Leitura recomendada

Configurando o xorg.conf no Ubuntu

Solução para problema na instalação do superkaramba (missing Python libraries / headers)

OpenJDK no Banco do Brasil (CrunchBang)

Habilitando demais terminais virtuais

Embelezando o seu lilo

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts