Viele wissenschaftliche Rechensprachen unterscheiden zwischen absoluter Zeit (Wanduhr) und CPU-Zeit (Prozessorzyklen). Zum Beispiel haben wir in Matlab:
%Vor%und in Mathematica haben wir:
%Vor%Diese Unterscheidung ist nützlich, wenn Benchmark-Code auf Berechnungsservern ausgeführt wird, bei denen die Ergebnisse der absoluten Zeitmessung möglicherweise stark variieren, je nachdem, welche anderen Prozesse gleichzeitig ausgeführt werden.
Die Julia-Standardbibliothek bietet Unterstützung für das Timing von Ausdrücken durch tic()
, toc()
, @time
und einige andere Funktionen / Makros basierend auf time_ns()
, einer Funktion, die absolute Zeit misst.
Meine Frage: Gibt es einen einfachen Weg, die verstrichene CPU-Zeit für eine Ausdrucksauswertung in Julia zu bekommen?
(Randnotiz: Wenn man etwas graben möchte, scheint es, dass Julia Timing auf der Funktion uv_hrtime()
von libuv basiert scheint mir, dass die Verwendung von uv_getrusage
aus der gleichen Bibliothek einen Weg gibt, um auf die verstrichene CPU-Zeit in Julia zuzugreifen, aber ich bin kein Experte. Hat jemand versucht, so etwas zu verwenden?)
Ich konnte keine vorhandenen Lösungen finden, daher habe ich hier ein Paket mit einer einfachen CPU-Timing-Funktion zusammengestellt: Ссылка . Das Paket ist auf dem parallelen Code völlig ungetestet und kann andere Fehler enthalten, aber wenn jemand es ausprobieren möchte, ruft er
%Vor% von der Eingabeaufforderung julia>
sollte das Paket installieren.
Tags und Links performance time julia-lang cpu-time