[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] Velocidade do xargs
From: |
Felipe Kellermann |
Subject: |
Re: RES: [shell-script] Velocidade do xargs |
Date: |
Wed, 10 May 2006 21:16:39 -0300 (BRT) |
User-agent: |
Pine <http://www.washington.edu/pine/> |
On Wed, 10 May 2006 3:17pm -0300, Julio Cezar Neves - DATAPREVRJ wrote:
> Mas uma coisa eu já testei: o find com xargs é *muito* mais rápido do
> que com exec.
Sim. Seria quase que como comparar a chamada 100 vezes repetida de um
programa contra duas ou uma. Tem o overhead do sistema operacional de
duplicar o chamador, reescrever e executar.
Mas ha diversos casos (a maioria) em que o xargs vai silenciosamente
executar um por vez, tornando o procedimento _bem_ mais custodo do que
apenas um find com exec.
Tenta substituir valores em um xargs. Veja como ele vai quebrar os
argumentos. Outra desvantagem de usar xargs tradicional: Nao existe nenhum
padrao de implementacao. POSIX tem uma definicao simples e que ninguem
segue, tradicionalmente. Tente usar xargs em um GNU/Linux e depois em um
sistema BSD (MacOSX, OpenBSD, etc).
Para evitar problemas com xargs e ainda assim usar uma funcionalidade
similar (mais muito mais melhorada pelo proprio shell, que seria o lugar
correto de se fazer isto), o zsh tem o "zargs".
zargs -- /var/spool/postfix/deferred/*/* -- postcat > arq
OBS: Se nao me engano o postcat pode receber "argumentos" pela stdin, nao?
--
Felipe Kellermann