Hallo Andre, On Tuesday 19 October 2010 11:49:27 Andre Tann wrote:
# bash -c "time \ sed -n -e '/delay=/s/.*\(delay[^,]*,\).*/\1/gp' /var/log/mail > /dev/null"
Hier misst du die Zeit von sed. Ok. Die extra Bash ist hierbei inert und unnoetig.
# bash -c "time grep delay= /var/log/mail | \ sed -e 's_.*\(delay[^,]*,\).*_\1_g' > /dev/null"
Hier misst du wieder nur die Zeit von grep. Das "time" muss vor die Bash. Meine Resultate sind (ich habe mir aus allen alten komprimierten mail logs mal ein sehr grosses File zusammengebastelt): # time -p grep delay= /var/log/mail | time -p sed -e 's_.*\(delay[^,]*, \).*_\1_g' > /dev/null real 4.39 user 4.19 sys 0.00 real 4.39 user 4.23 sys 0.02 # time -p sed -n -e '/delay=/ s/.*\(delay[^,]*,\).*/\1/gp' /var/log/mail > /dev/null real 5.79 user 5.74 sys 0.03 Real ist etwas irrelevant, da einer der beiden evt. auf den anderen warten muss. Addiere ich die beiden user-Zeiten zusammen, so komme ich auf 4.4 (Pipe) zu 5.7 (sed alleine). Die Pipe ist bei mir schneller fertig, aber nur weil ich zwei Cores habe. Mache ich jetzt was falsch? Ich glaube nicht. Roman -- Roman Fietze Telemotive AG Buero Muehlhausen Breitwiesen 73347 Muehlhausen Tel.: +49(0)7335/18493-45 http://www.telemotive.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org