> -----Original Message-----
> From: Julio C. Neves
> 
> Sendo que o cat teste em todos os testes que vc fez era 
> desnecessário. Em
> nenhum caso precisava/deveria ter sido usado. Experimente p. 
> ex. fazer:
> 
> $ time sort -u teste | wc -l
> 

De qualquer forma eu refiz os testes:

$ time uniq teste | wc -l
93601
real    0m0.617s

$ time sort -u teste | wc -l
36070
real    0m0.363s

(estes dois não fazem o que eu quero, mas posso comparar o tempo)

$ time cat -n teste | sort -k2 -u | sort -n | cut -f2- | wc -l
36070
real    0m1.502s

$ time awk '{ if (!visto[$0]) print; visto[$0] = 1; }' teste | wc -l
36070
real    0m0.395s

$ time awk '{ if (!visto[$0]) { print; visto[$0] = 1; } }' teste |
wc -l
36070
real    0m0.361s

No último teste eu economizei uns poucos milissegundos ao evitar a
re-atribuição desnecessária do "map" 'visto'.

Um abraço a todos.

Marcio Gil.

Responder a