você está aqui: Home  → Arquivo de Mensagens

Maneiras diferentes de fazer a mesma coisa

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 14 de maio de 2013

No Linux existem maneiras diferentes de se fazer a mesma coisa e também vícios de programação que nos levam a realizar tarefas de maneira nem sempre muito eficiente.

Seguem alguns exemplos. O tempo de execução de cada um deles é medido com o comando time.

Criar um arquivo vazio

Criação de um arquivo vazio

  % time touch arquivo1.txt
  real    0m0.002s
  user    0m0.000s
  sys     0m0.000s
  > arquivo2.txt
  real    0m0.000s
  user    0m0.000s
  sys     0m0.000s

Busca de texto em arquivos

  $ time cat /etc/passwd | grep queiroz
  queiroz:x:1000:1000:Rubens Queiroz de Almeida,,,:/home/queiroz:/bin/bash
  
  real    0m0.003s
  user    0m0.000s
  sys     0m0.000s
  % time grep queiroz /etc/passwd
  queiroz:x:1000:1000:Rubens Queiroz de Almeida,,,:/home/queiroz:/bin/bash
  
  real    0m0.002s
  user    0m0.000s
  sys     0m0.000s

Isto é bastante comum. O comando cat é totalmente desnecessário para esta finalidade.

Zerar o conteúdo de um arquivo

  $ time cp /dev/null A.txt
  
  real    0m0.008s
  user    0m0.004s
  sys     0m0.004s
  $ time > A.txt
  
  real    0m0.007s
  user    0m0.004s
  sys     0m0.004s

O arquivo A.txt usado nos exemplos acima tinha o tamanho de 21 MB.

Como se pode ver, os exemplos acima ilustram maneiras de se fazer uma mesma tarefa, algumas delas consideradas mais eficientes (e inteligentes) do que as outras, mas em termos práticos, o ganho é de apenas alguns milésimos de segundos. É claro que sempre devemos buscar a maneira mais eficiente de se realizar uma tarefa, mas em termos práticos, os computadores mais poderosos dos dias atuais até permitem uma certa incompetência :-)



Veja a relação completa dos artigos de Rubens Queiroz de Almeida