Ich möchte Laufzeit meines Programms berechnen, die PI mit Monte-Carlo-Methode approximiert. Ich habe ein Unix-Shell-Skript geschrieben, das das Programm No von Punkten, N = 10^{k}, für K = 1,2, ... 7 eingibt. Jetzt möchte ich die Ausführungszeit für jedes N in Unix-Programmzeit finden. Mein Unix-Shell-Skript sieht wie folgt aus:Berechnung Laufzeit des Programms für jede Iteration mit Unix-Programmzeit
#!/bin/bash
k=1
N=10
while [[ k -le 7 ]]
do
echo "$k N" | ./pi $N
((k = k + 1))
((N = N * 10))
done
Jetzt, wenn ich schreibe: $ time ./pi.sh
, es gibt mir die gesamte Ausführungszeit
10 3.6 0.1459155902616465
100 3.08 0.01960555055392467
1000 3.104 0.01196611328551369
10000 3.1284 0.004199352062629202
100000 3.1432 0.0005116342528909465
1000000 3.139704 0.0006011771092076384
10000000 3.141432 5.113762588206346e-05
real 0m0.583s
user 0m0.560s
sys 0m0.012s
Ich frage mich, wenn ich einen Bash-Skript zu schreiben, die Ausführung zu erhalten Zeit für jeden N-Eingang oder ich muss etwas in meinem Code machen.
, die großen Werke! unter den drei Zeitausgängen bekomme ich, welche die Programmlaufzeit darstellt? – bhjghjh
"real" ist ein echtes Wort Zeit verbracht. Wenn die App schläft oder wenn die CPU von einer anderen App verwendet wird, tickt dieser Timer immer noch. "Benutzer" ist die CPU-Zeit, die im Benutzermodus verbracht wird. "sys" ist die CPU-Zeit im Kernel-Modus. –
ok, was ist das für eine echte Laufzeiteinheit? Wie bekomme ich das in Sekunden aus dem Unix-Skript? – bhjghjh