Acredito que a razão seja outra. O seq é executado de uma vez e gera toda a
seguencia de numeros, assim  o "for" só precisa percorrer ela. No segundo
caso, para cada iteração é necessário executar uma operação matemática e uma
comparação.

On 4/14/07, Thiago Argolo <[EMAIL PROTECTED]> wrote:
>
>   No primeiro, assim como no segundo script, há um incremento, no primeiro
> caso declarado explicitamente enquanto no segundo atraves do seq. Porem,
> no
> primeiro para cada repetição do laço ele faz uma comparação (se i <=
> 99999)
> o que diminui a eficiencia do codigo.
> Acho que é isso, corrijam-me se estiver errado!
>
> Em 13/04/07, Amador Pahim <[EMAIL PROTECTED]<amador.pahim%40yahoo.com.br>>
> escreveu:
>
> >
> > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a
> > forma mais rápida de execução do comando FOR. Cheguei a tais resultados:
> >
> > Script teste01.sh:
> > ####################
> > for ((i=1; i<=99999; i++))
> > do
> > if [ $i == 99999 ]
> > then
> > echo Executando ultimo laço
> > fi
> > done
> > ####################
> >
> > [EMAIL PROTECTED]:~# time ./teste01.sh
> > Executando ultimo laço
> >
> > real 0m4.037s
> > user 0m3.604s
> > sys 0m0.172s
> >
> > Script teste02.sh:
> > ####################
> > for i in $(seq 99999)
> > do
> > if [ $i == 99999 ]
> > then
> > echo Executando ultimo laço
> > fi
> > done
> > ####################
> >
> > [EMAIL PROTECTED]:~# time ./teste02.sh
> > Executando ultimo laço
> >
> > real 0m2.701s
> > user 0m2.432s
> > sys 0m0.176s
> >
> > Esses resultados me deixaram um pouco confuso, pois imaginei que meu
> > script 01, por utilizar um incremento nativo do FOR fosse ser mais
> > rápido do que o script 02, que usa uma chamada a um comando externo.
> > Alguem poderia me ajudar a interpretar melhor esses resultados?
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Christian Lyra
PoP-PR/RNP


[As partes desta mensagem que não continham texto foram removidas]

Responder a