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

Publicado por Matheus em 17/04/2019

[ Hits: 2.408 ]

 


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

Comando df retorna disco cheio, mesmo não estando [Resolvido]

Painel transparente no KDE

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

Carregar os binários e libs na RAM

Eix em terminal branco [Resolvido]

Leitura recomendada

Desabilitando checagem de sistemas de arquivo na inicialização do Linux

Ajustando a data e hora no Linux

WindowMaker - Dockando na marra

[Resolvido] Running inside an X server requires Xephyr to be installed but it cannot be found

Instalação da última versão do Telegram no Devuan (sem flatpak ou snap)

  

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