[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
---------------------------------------------------------------------
- Re: [shell-script] renomear arquivos,
Henrique Limaverde Cabral de Lima <=