Prezados, A principio achei que a subshell do seq tivesse um comportamento diferente de acordo com o numero de processadores na maquina, pois afinal seriam processos diferentes.
Entretanto apesar do $(seq 99999) parecer bastante rápido pelas suas operações (incremento, comparação, buffered (?) output na saida padrão), ele atrasa o inicio do loop, além de perder muito tempo na alocação de memória (Toda a saida do seq na subshell é guardada na memória pelo shell inicial). O for aguarda a execução completa do seq para começar a varrer a memoria na qual foi guardada a saida da subshell. Nesse ponto as coisas podem ser mais rápidas, pois o acesso a memória é muito rápido, porém acho que não seria mais rápido que o for nativo. Acredito que a construção nativa do for deva ser mais rápida. Faça algum teste para um n maior e de uma olhada no seguinte one-liner: $ for i in $(seq 9999999); do echo $i; sleep 1; done []'s -- 0010111100101010010100110100100101000111 Fernando LEMES da Silva www.koho.com.br (0x43fca35b) 0101001101001001010001110010101000101111 On Monday 16 April 2007 17:01:12 Arthur Domingos Neto wrote: > Srs, > Estive fazendo alguns teste e obtive um resultado inverso do que exposto > conforme abaixo. > Agora fiquei um tanto confuso pois gostaria de saber o pq dessa diferença.