ich weiss, ich bin verrueckt, also bitte keine Fragen zur Sinnhaftigkeit...
Ich bin auf der Suche nach der effizientesten Methode um auf der Konsole mehrere gleiche Zeichen hintereinander zu erzeugen.
Natuerlich nur mit "Bordmitteln".
Testbedingungen:
100000 mal das Zeichen >#< ausgeben. (Hintereinander. Keine weiteren Zeichen!)
( 100000 um einigermassen sinnvolle Zeiten zu bekommen. )
Habe jeden Test ca. 20 mal Durchlaufen lassen um aussagekraeftigere Zeiten zu bekommen.
Meine Bisherigsten Ergebnisse:
Platz 1: (bis jetzt...)
Code: Alles auswählen
time yes \#|head -n 100000|tr -d '\n'
real 0.014 - 0.028s
user 0.000 - 0.008s
sys 0.000 - 0.012s
Platz 2:
Code: Alles auswählen
time yes \#|tr -d '\n'|dd bs=1 count=100000
real 0.027 - 0.039s
user 0.000 - 0.004s
sys 0.008 - 0.024s
Platz 3:
Code: Alles auswählen
time seq -s '#' 0 100000|tr -d '[:digit:]'
real 0.048 - 0.060s
user 0.048 - 0.058s
sys 0.000 - 0.004s
Platz 4:
Code: Alles auswählen
time echo "for(a=0;a<100000;a++)print \"#\""|bc|tr -d '[:space:]\'
real 0.069 - 0.086
user 0.048 - 0.020
sys 0.036 - 0.100
Platz 5:
Code: Alles auswählen
time echo -n {1..100000}"#"|tr -d '[:digit:][:space:]'
real 0.195 - 0.208s
user 0.168 - 0.208s
sys 0.004 - 0.028s
Platz 6: (langsamer gehts wohl kaum...)
Code: Alles auswählen
time for tt in {1..100000};do echo -n '#';done
real 0.735 - 0.774s
user 0.396 - 0.476s
sys 0.128 - 0.200s
Kennt jemand effizientere/schnellere Methoden?
(Der Code wuerde mir reichen, die Zeit-Tests kann ich selbst machen. Haengt ja auch von der jeweiligen Rechnergeschwindigkeit ab...)
Gruss, heinz