Ansicht
Dokumentation

ABAPGET_RUN_TIME - GET RUN TIME

ABAPGET_RUN_TIME - GET RUN TIME

ROGBILLS - Synchronize billing plans   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

GET RUN TIME

Kurzreferenz



GET RUN TIME FIELD rtime.

Wirkung

Bei der ersten Ausführung von GET RUN TIME nach der Erzeugung eines internen Modus wird der Wert 0 in die Variable rtime gestellt. Bei jeder weiteren Ausführung im gleichen internen Modus wird die seit der ersten Ausführung vergangene Programmlaufzeit in Mikrosekunden in die Variable rtime gestellt. Der Rückgabewert der Anweisung ist vom Datentyp i. Für rtime kann angegeben werden:

  • Eine vorhandene Variable vom Datentyp i oder in die der Typ i konvertiert werden kann.

Hinweise

  • Um die Laufzeit von Programmabschnitten zu messen, kann vor und hinter dem gewünschten Abschnitt eine Anweisung GET RUN TIME ausgeführt und danach die Differenz der Ergebnisse gebildet werden. Die eingegrenzte Anweisungsfolge wird als Messstrecke, die dafür ermittelte zeitliche Dauer als Messintervall bezeichnet.
  • Die Anweisung GET RUN TIME akkumuliert nicht die reine Ausführungsdauer einzelner ABAP-Anweisungen sondern stellt tatsächliche Zeitpunkte bezüglich der Prozessorzeit fest. Insbesondere werden bei Differenzen zwischen solchen Zeitpunkten auch die Zeitdauern berücksichtigt, in denen ein interner Modus aus dem Speicher herausgerollt ist. Konzeptionell entspricht eine mit GET RUN TIME festgestellte Zeit einem Zeitstempel. Im Gegensatz zu echten POSIX- Zeitstempeln ist eine mit GET RUN TIME definierte Zeit plattformunabhängig immer auf die Mikrosekunde genau. Auf der anderen Seite ist sie aber auf den Wertebereich des Datentyps i beschränkt.
  • Die maximale Auflösung der Anweisung GET RUN TIME ist eine Mikrosekunde. Kürzere Messintervalle können nicht zuverlässig bestimmt werden.
  • Der Wertebereich des Rückgabewerts der Anweisung muss beachtet werden. Es sollten keine zu großen Messstrecken (nicht größer als ca. 1.000 s), keine Messstrecken über Zugriffe auf externe Daten oder Messstrecken über Dynpro-Aufrufe usw. aufgebaut werden.
  • Mit der Anweisung SET RUN TIME CLOCK RESOLUTION kann die Messgenauigkeit vor der ersten Ausführung von GET RUN TIME festgelegt werden, mit der die Laufzeit ermittelt wird.
  • Die Klasse CL_ABAP_RUNTIME stellt Methoden zur Erzeugung von Objekten mit der Interface IF_ABAP_RUNTIME zur Verfügung, mit deren Methode GET_RUNTIME in einer internen Sitzung mehrere Laufzeitmessungen mit unterschiedlichen Auflösungen ausgeführt werden können (siehe Klasse für Laufzeitmessungen).
  • Die Laufzeit von Programmabschnitten kann auch mit dem Werkzeug Laufzeitanalyse bestimmt werden.

Beispiel

Bestimmung der Rechenzeit für eine Berechnung des Tangens von 1. Da die Laufzeit der Anweisung kleiner als eine Mikrosekunde ist, wird die Laufzeit mehrerer Ausführungen in einer inneren Schleife gemessen. Die Ausführungszeit der Schleife selbst wird ebenfalls gemessen, um sie als Offset abzuziehen. Diese Messungen werden mehrmals in einer äußeren Schleife ausgeführt und über Division durch n0 wird der Mittelwert gebildet. Über die Division durch ni wird die Laufzeit einer einzelnen Anweisung bestimmt.






BAL Application Log Documentation   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5178 Date: 20240425 Time: 085354     sap01-206 ( 93 ms )