Ich würde sagen, der zweite Prozess ist langsamer, da er zwei Prozesse umfasst tree
und grep
der erste Prozess nur einen Prozess hat find
.
Darüber hinaus tree
schreibt die Namen aller Dateien, die er zu seinem Ausgangsstrom findet, die dann durch verbraucht wird grep
. Gleichzeitig werden find
nur die Namen der übereinstimmenden Dateien gedruckt.
Bei der Verwendung find
wird versucht, nur den Dateinamen mit dem angegebenen Namen abzugleichen $filepattern
. Im zweiten Fall wird das Muster auf den vollständigen Pfad der Datei angewendet . Im zweiten Fall müssen also mehr Daten verarbeitet werden.
Auf der anderen Seite ist der Flaschenhals in diesem Test Disk IO. Beide find
und tree
die Verzeichnisse durchlaufen.
Wenn Sie jeden Test nacheinander ausführen, speichert das Betriebssystem die Daten über die Verzeichnisse und Dateinamen. Der Befehl wird daher schneller ausgeführt.