2009-03-13 20 views
2

Die meisten Online-Juroren verfügen über ein System zur Messung der Ausführungszeit und des Speicherverbrauchs. Ein Beispiel zeigt here. Wie wird es gemacht? Gibt es ein einfaches UNIX-Dienstprogramm, mit dem ich ähnliche Tests für meine eigenen Programme ausführen kann?Messung der Ausführungszeit und des verwendeten Arbeitsspeichers

+0

Programmiersprache? –

+0

Ich arbeite in C und Python. Es scheint, als ob das Maß, das von dieser bestimmten Seite verwendet wird, Programmiersprache Agnostiker ist. – yuriel

Antwort

2

Valgrind mit all seinen Tools finden Sie einige Informationen geben:

  • cachegrind - einen Cache-Simulator
  • callgrind - rufen Graph Tracing - ermöglicht, die Kosten für Anrufe zu erhalten und zeigen, was in Ihrem Programm passiert
  • massif - Informationen über Heap-Speichernutzung
  • memcheck - Speicherleck Überprüfung

Zusätzlich können Sie anspruchsvollere Software verwenden, wie Intel VTune.

Wenn Sie sich für Low-Level-Details und die echten Hardware-Zähler interessieren, werfen Sie einen Blick auf die perfmon2, die einige Chancen hat, irgendwann in den Mainstream-Kernel zu gelangen.

Und alte Fragen suchen - es gibt viele Beiträge zu diesem Thema.

1

Der UNIX-Befehl time gibt die Anzahl Benutzerzeit, Systemzeit und einige Speicherstatistiken aus. Die Linux-Version kann here gefunden werden und enthält einige Formatierungszeichenfolgen, mit denen Sie die genaue Ausgabe angeben können.

1

Das letzte Mal, als ich ein Unix-Programm profilieren musste, benutzte ich gcc und gprof. Es hat mir die Informationen, die ich brauchte.

Verwandte Themen