touch e redirecionamento
Por Julio Neves
Data de Publicação: 12 de Dezembro de 2006
99% das pessoas usam o comando touch para criar um arquivo, porém veja
só esta comparações de tempo:
$ time for ((i=1; i<=200; i++)); { touch xpto; }
real 0m1.572s
user 0m1.012s
sys 0m0.428s
$ time for ((i=1; i<=200; i++)); { > xpto; }
real 0m0.007s
user 0m0.008s
sys 0m0.000s
Como era de se esperar o tempo decorrido para criar 200 vezes o arquivo
xpto é muito maior usando o touch do que usando redirecionamento. A
explicação para isso é bastante simples:
- O
touchfoi feito para alterar o timestamp de arquivos, e por isso seu código é um pouquinho pesado. Então quando você usa este comando, você perde um tempo para carregar o módulo e outro para executá-lo a nível de kernel; - quando você usa redirecionamento, não existe nenhuma carga de código (é um intrínseco do shell) e é executado localmente.
Um livro sobre Bash completo e on-line
Veja a relação completa dos artigos da coluna Cantinho do Shell
Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS
Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.



