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]