Messung der abgelaufenen CPU-Zeit in Julia

8

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.

%Vor%

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?)

    
eds 26.06.2014, 09:41
quelle

2 Antworten

5

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.

    
eds 27.06.2014, 00:44
quelle
9

Julia hat die Befehle tic() und toc() , die genauso funktionieren wie tic und toc in Matlab:

%Vor%     
Peter 17.04.2015 22:02
quelle