my $start_time = [Time::HiRes::gettimeofday()];
my $diff = Time::HiRes::tv_interval($start_time);
print "\n\n$diff\n";
Antwort
Möglicherweise. Hängt davon ab, was du mit "besser" meinst.
Wenn Sie nach einer "besseren" Lösung in Bezug auf die Funktionalität fragen, dann ist dies ziemlich viel.
Wenn Sie einen „besseren“ im Sinne von „weniger umständlich“ Notation fragen, wissen dann, dass im skalaren Kontext Time::HiRes::gettimeofday()
seit Epoche floating Sekunden zurück (mit dem Bruchteil Mikrosekunden darstellt), um nur wie Time::HiRes::time()
(was ein guter Drop-in-Ersatz für den Standard time()
Funktion ist.)
my $start = Time::HiRes::gettimeofday();
...
my $end = Time::HiRes::gettimeofday();
printf("%.2f\n", $end - $start);
oder:
use Time::HiRes qw(time);
my $start = time();
...
my $end = time();
printf("%.2f\n", $end - $start);
Das ist ziemlich viel - das wird Ihnen eine hohe Auflösung verstrichene Zeit geben. Es sei denn, jemand vermasselt die Systemuhr.
Hängt davon ab, was du bist tun. Wenn Sie die Wanduhrzeit messen möchten (die tatsächliche Zeit, die verstrichen ist), können Sie nicht viel besser werden. Wenn Sie messen möchten, wie lange der Computer gerade etwas ausgeführt hat, sollten Sie sich die Funktion times
oder den Befehl time
ansehen. Die times
-Funktion in Perl gibt eine Liste der aktuellen Zeit für diesen Prozess in Ihrem Code und den Code der von Ihnen verwendeten Module, diesen Prozess in Systemaufrufen, alle untergeordneten Prozesse dieses Prozesses im Benutzercode und alle untergeordneten Prozesse zurück in Systemaufrufen.
#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes;
my $start_time = [Time::HiRes::gettimeofday()];
.
.
.
my ($user, $system, $child_user, $child_system) = times;
print "wall clock time was ", Time::HiRes::tv_interval($start_time), "\n",
"user time for $$ was $user\n",
"system time for $$ was $system\n",
"user time for all children was $child_user\n",
"system time for all children was $child_system\n";
Der time
in UNIX-Befehl ist in der Funktion ähnlich. Sie führen einen Befehl wie dieser
time ./script.pl
und es gibt so etwas wie dieses
real 0m0.692s
user 0m0.019s
sys 0m0.109s
wo reale die Wanduhr Zeit und Benutzer und sys sind die gleichen wie Benutzer- und System oben. Der time
Befehl ist für einen Menschen einfacher zu benutzen, aber die times
Funktion gibt Ihnen mehr Informationen und ist leichter in ein Computerprogramm zu integrieren (und hat den Vorteil, Ergebnisse zu erzeugen, während ein Programm noch läuft).
Oh, ich vergaß zu erwähnen $^T
. Diese Variable enthält die Startzeit des Programms in Sekunden seit der Epoche, also wenn Sie nur über eine Granularität von Sekunden Pflege können Sie einfach
END { print "The program ran for ", time() - $^T, " seconds\n" }
in der Nähe der Spitze des Programms sagen.
Dies ist nützlich für die in-Service-Timings, Granularität von einer Sekunde:
Am Anfang ...
$debugtimer = time;
$debugstr = "";
... überall und überall Sie mögen ...
kerchunk("message") # message is short description of location in code
... Programmende ...
print "timings: $debugstr";
... und mit dem U-Boote:
sub kerchunk
{
my ($msg) = shift;
my $pertock = time;
my $kch = abs($debugtimer - $pertock);
$debugstr .= "Elapsed at $msg: $kch<br>\n";
}
- 1. Gibt es eine Möglichkeit, die verstrichene Zeit zu erhalten, für die ein Rails-Server ausgeführt wurde?
- 2. Gibt es eine bessere Möglichkeit, die richtige Größe für eine UITableViewCell zu bestimmen?
- 3. Gibt es eine bessere Möglichkeit, die Uhrzeit zu extrahieren?
- 4. Gibt es eine Möglichkeit, die Hintergrundfarbe eines Terminals zu bestimmen?
- 5. Gibt es eine Möglichkeit, die Zeit zu bestimmen, die ein Client auf einer Webseite verbringt
- 6. Gibt es eine bessere Möglichkeit, doppelte Zeichenketten aus einer Datei in Perl zu ziehen?
- 7. gibt es eine bessere Möglichkeit, Youtube PHP API zu verwenden
- 8. Gibt es eine bessere Möglichkeit, Conditionals in Jsx zu verwenden?
- 9. Gibt es eine bessere Möglichkeit, Datensätze einzufügen?
- 10. Gibt es eine bessere Möglichkeit, die Abhängigkeitsinjektion in Swift durchzuführen?
- 11. Gibt es eine bessere Möglichkeit, Testanweisungen in Mocha zu schreiben?
- 12. Gibt es eine bessere Möglichkeit, dies in PHP zu tun
- 13. Gibt es eine bessere Möglichkeit, eine große Animation zu laden?
- 14. Gibt es eine Möglichkeit, die tatsächliche Zeit und das Datum in iOS zu bestimmen (nicht die Zeit des Geräts)
- 15. Gibt es eine bessere Möglichkeit, diese Datenbank zu speichern?
- 16. Gibt es eine Möglichkeit, die Zeit stapelweise zu ändern?
- 17. Gibt es eine bessere Möglichkeit, per Referenz in Perl zu übergeben?
- 18. gibt es eine bessere Möglichkeit, die richtige Methodenüberladung auszuwählen?
- 19. Gibt es eine bessere Möglichkeit, SQL zu debuggen?
- 20. Gibt es eine bessere Möglichkeit, alte Daten zu erhalten?
- 21. Gibt es eine Möglichkeit in Eclipse zu bestimmen, was CPU-Zeit kostet?
- 22. RegularExpressionValidation - gibt es eine bessere Möglichkeit, dies zu schreiben?
- 23. Gibt es eine bessere Möglichkeit, dieses LINQ-Fragment zu codieren?
- 24. gibt es eine bessere Möglichkeit, ein Diktat zu bereinigen?
- 25. indexOf(): Gibt es eine bessere Möglichkeit, dies zu implementieren?
- 26. Gibt es eine bessere Möglichkeit, Arrays zu übertragen?
- 27. Gibt es eine bessere Möglichkeit, diesen LINQ-Anweisungsblock zu erstellen?
- 28. Gibt es eine bessere Möglichkeit, diese SQL-Abfrage zu schreiben?
- 29. Gibt es eine bessere Möglichkeit, diese Funktionsaufrufe zu strukturieren?
- 30. Gibt es eine bessere Möglichkeit, dies zu schreiben?
besser in welchem Sinne? – ysth