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

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

Re: [shell-script] Qual o FOR mais rápido


From: Fernando Lemes da Silva
Subject: Re: [shell-script] Qual o FOR mais rápido
Date: Mon, 16 Apr 2007 18:15:48 -0300
User-agent: KMail/1.9.6

   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.


reply via email to

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