Re: Verzeichnis mit vielen Dateien aufteilen
Thomas Ulrich Nockmann <tun@koeln-lug.de> schrieb:
> On Donnerstag, 8. Januar 2004 14:25, Torsten Schneider wrote:
> [...]
>
>> Das Semikolon trennt mehrere Statements auf einer Zeile ab, du
>> fügst also jedem Statement noch ein leeres Statement an.
Außerdem werden Semikolons auch zum Abtrennen der Teile von Compound
Commands gebraucht, also z.B. für
if list; then list; [elif list; then list; ] ...[else list;] fi
> koennte dieses offensichtlich falsch verwendete Semikolon ggf. dazu
> fuehren, ein Skript, respektive dessen Abarbeitung, langsamer zu
> machen? Theoretisch gesehen, so denke ich mir jetzt einfach 'mal,
> muesste es dann wohl doch der Fall sein?
Die Shell liest dahinter ja direkt das Newline und tut einfach
nichts. Ich habe es mal probiert; lustigerweise ist es sogar etwas
schneller:
bin/testing/wielange{1,2,3}
#!/bin/sh
i=0
while [ $i -lt 10000 ]; do
i=$(($i + 1)) #wielange1
i=$(($i + 1)); #wielange2
i=$(($i + 1)); (true) #wielange3
# i=$(($i + 1)); (set -e) #vergleichbar langsam
done
frank@alhambra:~$ time bin/testing/wielange1
real 0m0.986s
user 0m0.940s
sys 0m0.010s
frank@alhambra:~$ time bin/testing/wielange2
real 0m0.969s
user 0m0.910s
sys 0m0.040s
frank@alhambra:~$ time bin/testing/wielange3
real 0m4.955s
user 0m2.350s
sys 0m2.480s
frank@alhambra:~$
Mittelwerte:
ohne Semikolon: 967+/-11 ms (etwa 10 Versuche)
mit Semikolon: 967-/-9 ms (etwa 10 Versuche)
mit neuer Shell: 5061+/-87 ms (5 Versuche)
Gruß, Frank
--
Frank Küster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie
Reply to: