 |
Será que o dnf do Fedora é tão lento quanto afirmam? |
Este é o segundo artigo sobre Fedora que eu escrevo aqui no meu blog. Em uma de minhas lives surgiu uma pergunta a respeito do desempenho do
DNF se comparado aos outros gerenciadores de pacotes. Até que eu não vi isso na live, mas uma coisa que percebi entre os usuários de Linux é que já há o mito de ser um gerenciador de pacotes ruim e com péssimo desempenho; e como sempre, todo mito se propaga rapidamente e permanece por longas datas (não importando se desmistifique o assunto)...
Bom, mas aqui vou eu mais uma vez em uma tentativa frustrante de explicar o óbvio e que parece que não vai adiantar nada. Mas mesmo assim a gente faz.
No dia 22 de Março de 2020,
foi anunciado o desenvolvimento da terceira verso do DNF cujo o seu maior foco é exatamente o desempenho e que de acordo com o próprio artigo do anuncio, esta versão já começa a apresentar bons resultados através de sua biblioteca:
 |
Testes comparativos de desempenho com as versões 0.9.1, 0.11.1 e 0.13.0 da libdnf |
Mas mesmo com os dados já apresentados eu não deixaria de realizar testes também e aqui eu percebo dois problemas entre os usuários sendo que ambos são mais questão psicológicas do que reais, tratam-se de falta de analise e percepção.
O primeiro afirmam que o desempenho do DNF não é bom se comparado a outros gerenciadores de pacotes como o APT da família Debian, o portage da família Gentoo, o APK do Alpine Linux e pakman do Arch (como sempre, tudo do Arch é melhor do que de todo mundo...). Até aí não é um problema, o problema é a forma como a ideia acaba sendo mentalizada. Ao invés de "DNF bom e outros gerenciadores de pacotes melhor", a ideia acaba sendo mentalizada como "DNF ruim e outros gerenciadores de pacotes bom". E isso é um problema geral na vida. Ser humano tem um problema psicológico com números.
Depois começa a desculpa de que foi "pelos testes que fizeram" ou "falam por experiencia própria"... E é uma pior que a outra e é aqui que mora o segundo problema: Não entender como o gerenciador de pacotes funciona.
Uma coisa que eu percebi (e que em partes achei um pouco incomoda) é quando vou realizar uma busca por um programa sem antes ter realizado um update no DNF. O DNF irá primeiro atualizar a sua base de dados (e caso houver atualizações, irá então concluí-las) para depois realizar a minha busca como pode ser conferido na imagem abaixo.
 |
DNF realizando atualização do sistema antes de realizar a busca solicitada. |
A principio eu achei isso incomodo mas depois achei até interessante (caso eu não tenha esquecido de verificar pro atualizações, o DNF já fez isso por mim, tudo uma questão de vantagens e desvantagens). Basicamente o APK do Alpine Linux também trabalha desta forma. Após a atualização, todas as demais buscas ficam muito mais rápidas que levam entre 3 a 5 segundos dependendo da sua internet e do seu hardware. Nesse caso falo pela minha internet que é de apenas 5 megabits (que dividindo 5 por 8, corresponde a 625 Kylobytes) e ainda estava assistindo a uma transmissão ao vivo.
 |
DNF realizando a busca solicitada não tendo atualizações. |
 |
Oscilações na busca do mesmo pacote devido a internet está sendo utilizada. |
Já o processo de baixar o pacote, suas dependências e instalá-los também não levou tempo. Na imagem abaixo podem ser conferidos o tamanhos dos pacotes, a velocidade com que os pacotes foram baixados, quanto tempo levou para baixar e o tempo total de todo esse processo e de instalação.
 |
Tempo de instalação do Simple screen Recorder no Fedora 31. |
Moral da história é não, não vejo o DNF como possuindo desempenho ruim ao ponto de desenhá-lo como fosse algo que se torna desagradável e impactante da produção. O DNF possui desempenho aceitável? Sim!