[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: directories wieder ausführbar machen



Hallo Dirk,

* On Fri, Jul 05, 2013 at 11:32:39PM +0200 Dirk Griesbach wrote:
> Am Fri, 05. Jul 2013 um 22:32:53 +0200 schrieb Spiro Trikaliotis:
> > Hm... Ist das effizienter als:
> > 
> > $ find . -type d -exec chmod +x \{\} \+
> > 
> > ? Ich habe da meine Zweifel.
> 
> Nur mal ein  schneller Test über mein $HOME (Daten sind bereits alle
> gecached):
> 
> ~$ /usr/bin/time -f "%E\n" find . -type d -exec ls -lah {} \; > /dev/null
> 0:59.14
> 
> ~$ /usr/bin/time -f "%E\n" find . -type d -exec ls -lah {} \+ > /dev/null
> 0:07.83
> 
> ~$ /usr/bin/time -f "%E\n" find . -type d -print0 | xargs -0 ls -lah > /dev/null
> 0:06.92
> 
> Ergebnisse sind über mehrere Läufe reproduzierbar.

Hm... Auf den ersten Blick kann ich die Ergebnisse auch reproduzieren.

Aber: Ich habe das ganze über ein Laufwerk laufen lassen, wo ich nicht überall
die Rechte habe, ls -lah auszuführen. Hier ergibt sich folgendes
Phänomen: Die Ausgabe von time erfolgt, *bevor* alles Ergebnisse des
xargs da sind.

Kann es sein, dass time nur die Zeit des find bewertet, nicht aber die
des dahinter liegenden xargs?

Ok, gegencheck: find und den Rest dahinter in ein Skript geschriebe,
dann time ./script ausgeführt: Die Ergebnisse bleiben bestehen. Also
selbst, wenn es oben ein Meßproblem gab, das Ergebnis stimmt trotzdem.

Interessant.

Steht sich find irgendwie "selber im Weg", oder wieso ist es mit der
Pipe schneller? Das wundert ich jetzt doch ein bisschen.

Beste Grüße,
   Spiro.

-- 
Spiro R. Trikaliotis
http://www.trikaliotis.net/


Reply to: