Há mais algum ponto em usar o Prelink?

11

Ao longo dos anos, usando várias caixas de linux, comecei a usar o pré-filtro ritualmente para acelerar os tempos de carregamento de aplicações.

No entanto, os benefícios de executar o prelink são negados toda vez que um pacote é reinstalado, já que todas as suas dependências e seus dependentes precisam ser novamente pré-vinculados.

Esse prelinking pode causar vários problemas, e um como tal é a invalidação binária MD5, o que é problemático para coisas que comparam MD5 versus revisões upstream ou usam MD5 para determinar se o binário foi ou não modificado e não é necessário limpá-lo após a remoção do pacote.

Recentemente, os computadores ficaram muito mais rápidos, e o benefício que o prelink produz agora é dificilmente notável.

O uso do prelink ainda é um conceito racional, ou pode ser descartado casualmente e deixado para trás como algo do passado?

    
por Kent Fredric 12.07.2009 / 08:19

6 respostas

4

Você não poderá lê-lo até 23 de julho de 2009, a menos que esteja inscrito no LWN.net, mas poderá encontrar o link útil.

    
por 16.07.2009 / 09:55
1

Eu não diria que ele deve ser arbitrariamente descartado, no entanto, eu definitivamente diria que seu uso deve ser um pouco mais pensado.

Em uma máquina moderna de última geração que está sendo atualizada com freqüência, o prelink pode não ser uma otimização útil. No entanto, ainda há vários casos em que pode valer a pena usar. Por exemplo, em uma máquina final mais antiga ou mais baixa, ou em máquinas bastante estáticas e que não sofrem alterações ou atualizações frequentes. Também pode valer a pena se você tiver uma alta taxa de programas sendo executados repetidamente (posso pensar em algumas situações em que você pode ter programas sendo executados em rápida sucessão ou em paralelo, onde o prelinking poderia melhorar o desempenho).

Em suma, você precisa considerar sua situação específica e, em seguida, decidir se os benefícios superam o trabalho e o esforço adicionais.

    
por 12.07.2009 / 08:34
1

Eu diria que o prelink é definitivamente útil em servidores desktop multiusuário, como servidores LTSP usados em escolas e net cafés, por exemplo. O pré-teste não apenas aumenta a velocidade do carregamento de aplicativos, mas também melhora a utilização da RAM e a movimentação de discos devido à contenção entre os usuários, permitindo muito mais usuários simultâneos em um servidor.

    
por 21.07.2009 / 17:30
0

Eu acho que com os preços da memória caindo prelinking está se tornando menos útil. Se você ainda quiser acelerar um pouco as coisas, pode procurar no pré-carregamento .

    
por 12.07.2009 / 08:30
0

Deixo essa decisão para a versão do sistema operacional. Se, por padrão, o SO optar por chamar prelink regularmente usando o cron, então tudo bem pode ser que não seja tão útil. Espero que os criadores de distribuições tenham pensado antes de escolher adicionar / remover a opção prelink por padrão. Então eu vou com eles em vez de analisar as coisas novamente.

    
por 12.07.2009 / 08:33
0

O Gentoo usa o prelink. Eles contornam o problema do md5sum ignorando a informação do prelink ao calcular o hash.

O Prelink sempre lhe dará um aumento de velocidade, embora possa se tornar menos e menos perceptível conforme o hardware fica mais rápido. A única maneira de saber com certeza em seu hardware é desativar o prelink e ver como você gosta da lentidão no lançamento do aplicativo.

Sidenote: OS X costumava fazer uma forma de prelinking também, mas que foi abandonado em favor de um cache ligado que o link mantém-se. Melhor dos dois mundos, sem mudança binária e sem overhead real versus link normal. Espero que o Linux capte essa ideia em algum momento:)

Atualização: tentei testar o Linux recentemente, e para uma compilação de cscope com muitos arquivos e processos, obtive um aumento de velocidade de 5%.

    
por 12.07.2009 / 14:19