[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Minha contribuição de Feliz Ano novo
From: |
Jeferson Santos |
Subject: |
Re: [shell-script] Re: Minha contribuição de Feliz Ano novo |
Date: |
Sun, 17 Jan 2010 00:22:35 -0200 |
Olá Julio,
Que bom que gostou da observação, pois é fruto de muito chope virtual
no botequim do shell...rs
Voltando ao assunto, refiz os testes.
O seu script foi um pouco mais rapido que o meu, de 1 a 1000, sendo
assim, resolvi deixar as coisas mais interessantes e aumentei pra
100.000, só pra deixar a coisa ferver.
Obviamente não daria pra te vencer num duelo de script mais de 1x...rs
sendo assim, veja os resultados da surra q levei contra seu script
novo:
Meu script, de 1 a 100000
real 0m58.144s
user 0m56.128s
sys 0m2.144s
Seu script, de 1 a 100000
real 0m3.202s
user 0m2.740s
sys 0m0.084s
Tendo como base estes dados, resolvi mesclar os 2 scripts, linha por
linha, pra ver o melhor de cada um. A única coisa que testei e deu
diferença foi usar o seq no lugar do eval echo. Também adicionei uma
linha em awk (que incrivelmente nao causou impacto no desempenho, até
pelo fato de ter sido usado apenas uma vez) pra deixar a saída
exatamente como estava no meu script original.
Eis o resultado:
real 0m2.938s
user 0m2.496s
sys 0m0.064s
Aqui está o script modificado:
-----------------------------------
#!/bin/bash
Tudo=$(seq $1 $2)
Tudo=$(sed 's/ //g;s/\([0-9]\)/\1\n/g' <<< $Tudo)
sort -n <(echo "$Tudo") | uniq -c | awk '{print $2" = "$1}'
-----------------------------------
Abraços à todos,
Jeferson dos Santos