Hallo, On Mon, 29 Jan 2001, Melchior FRANZ wrote:
* David Haller -- Monday 29 January 2001 10:45:
* On Mon, 29 Jan 2001, Melchior FRANZ wrote:
LASTLINE=$(cat $FILE|wc -l)
Useless use of cat! LASTILE=$(wc -l $FILE) ist ausserdem um ca. 1/3tel schneller (wenn das File im filecache ist).
Offensichtlicht hast Du beides ausprobiert. Dann haettest Du aber auch erkennen sollen, dass die beiden Varianten =nicht= zur gleichen Ausgabe fuehren:
$ wc -l .procmailrc 140 .procmailrc
$ cat .procmailrc|wc -l 140
Faellt Dir was auf?
Ja.
Bei meiner Variante fehlt der Dateiname, mit dem der logsurfer nix anzufangen wuesste. Natuerlich koennte man den auch mit cut oder awk abschneiden. Aber dann ist der Zeitvorsprung vermutlich auch dahin ...
Aeh, so ja. Wenn du aber auf die Leerzeichen vor der 'wc -l'-Ausgabe verzichten kannst (in diesem Falle wohl gegeben), dann wuerde ich L=$(wc -l /var/log/messages); echo ${L//[\/.a-zA-Z]*/} vorschlagen. Ich muss aber zugeben, dass auch ich ueber die Geschwindigkeit der bash dabei erstaunt bin *vbg* /tmp (0) $ z_bench real 0m4.609s user 0m1.800s sys 0m2.390s real 0m7.099s user 0m2.440s sys 0m3.950s /tmp (0) $ cat z_bench time for i in `seq 99`; do L=$(wc -l messages); echo ${L//[\/.a-zA-Z]*/}>/dev/null; done time for i in `seq 99`; do cat messages | wc -l>/dev/null; done Sogar das geschaetzte Verhaeltnis bestaetigt sich: 0.649 zu 1 ;) Das Zuweisen, ersetzen und dann mit echo Ausgeben scheint sich praktisch nicht bemerkbar zu machen... Achso, die '/tmp/messages' ist schlappe 44444 Zeilen lang und befand sich schon im Cache.
SCNR
dito, aber mit 2(!) Ausrufezeichen CU David, millisekunden zaehlend :)) P.S: nebenher lief seti, hatte aber keine (relevanten) Auswirkungen auf das Verhaeltnis der Laufzeiten... Ohne seti: 0.657 zu 1 und 0.622 zu 1 -- I don't consider NT/Win network maintenance adminning at all. Daily multiple performance of the single finger flip of the power switch to at least get the piece of crap that masquerades as an OS to a level of something approaching stability (unless the gnats are around, and for a very weird #define of stability) is what I call it. Of course, I'm not at work right now, so I'm a little more mellow about it. [Chris Saunderson in the SDM]