Bash: Performance Tricks

Aus Hergipedia
Zur Navigation springen Zur Suche springen

Synopsis

Shell-Skripte können im Vergleich zu "echten" Programmen regelrechte Performancefallen enthalten, die nicht offensichtlich sind. Diese können auf einfachste Weise erheblich "getunt" werden, wobei z.T. Geschwindigkeit-Steigerung um den Faktor 1000 und mehr möglich sind.

Praxisbeispiele:

Gerade unter cygwin ist die Ursache meist der unnötige Aufruf externer Programme aus dem Skript eraus. Als Beispiel 20 Dateien in einem Verzeichnis angezeigt werden.

  mkdir bash-performance-tricks
  cd bash-performance-tricks
  for ((i=0; i<20; ++i )); do echo "Hallo Welt" > $i.txt; done

einzeln innerhalb einer Schleife

 # cygwin
 time for i in *.txt; do ls -l $i; done
 ...
 real    0m6.810s
 user    0m0.820s
 sys     0m3.880s

in einem Rutsch

 # cygwin
 time ls -l *.txt
 ...
 real    0m0.400s
 user    0m0.040s
 sys     0m0.230s