shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] renomear arquivos


From: Henrique Limaverde Cabral de Lima
Subject: Re: [shell-script] renomear arquivos
Date: Tue, 7 Nov 2000 08:34:51 -0200 (EDT)

> o awk foi BEM mais rápido, embora aqui o resultado não tenha sido o
> esperado e como não manjo de awk, não pude arrumá-lo.
> 
> o sed ficou em segundo, mesmo disparando 3 processos por |
> 
> a solução somente bash demorou mais, mesmo sendo o bash o
> interpretador de comandos utilizado... interessante.
> 
> um for com 2 sub-shells demora mais que 3 chamadas de sistema ao sed,
> por essa eu não esperava &:)

   Ei, turma, acho que eu sei explicar os resultados. E, estah pouco
relacionado aa eficiencia de cada aplicativo (bash, sed, awk) e sim aos
seus tamanhos. No meu sistema:

461400 Feb 20  2000 /bin/bash
 44048 Jan 22  2000 /bin/sed
 95056 Jan  9  2000 /usr/bin/mawk

   Conclusao:
a) Solucao awk: segue dois links, carrega um executavel de 95K e executa o
                script
b) Solucao sed: carrega um executavel de 44K tres vezes executando o
                devido script
c) Solucao bash: para cada iteracao do for, carrega dois bash's cada um
                 de 400K e depois executa o devido script

   Lembrem-se que, apesar de ser uma tarefa constantemente executada,
nohs nem sempre nos damos conta de que carregar um executavel na memoria
envolve varios passos e pode se tornar uma tarefa custosa: tem que ler o
programa no disco (soh isso jah custa muito), alocar memoria, fazer o
carregamento propriamente dito do programa e soh entao executa-lo. Talvez
para um texto muito maior, esse custo inicial tenda a influenciar menos no
desempenho de cada solucao (embora eu acredite que, pelo menos a solucao
bash nao venha a se tornar mais eficiente).
   Apesar disso, todas as tres solucoes resolvem o problema e, a despeito
da disparidade na eficiencia, os tempos sao tao pequenos que nohs soh
sentimos a diferenca se puder comparar dados numericos. Eu acredito que
existem poucos casos no dia-a-dia em que um script sed ou awk leve mais do
que alguns poucos segundos para tratar um arquivo. Jah fiz scripts que
demoraram 30, 50 segundos, mas o arquivo de entrada tinha 2, 3, as vezes
10MB de tamanho... Aih tem que ter paciencia mesmo :)
   T+

            Henrique Lima
---------------------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]