Ansicht
Dokumentation

CL_ABAP_RUNTIME - Hilfsklasse für Laufzeitmessungen

CL_ABAP_RUNTIME - Hilfsklasse für Laufzeitmessungen

Addresses (Business Address Services)   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Factory Klasse für Timer Objekte.

Über die beiden Methoden create_hr_timer() bzw. create_lr_timer() werden Objektinstanzen zurückgeliefert, die das Interface IF_ABAP_RUNTIME implementieren. Dieses Interface spezifiziert genau eine Methode get_runtime(), die ein Ergebnis vom Typ Iliefert, analog zum ABAP-Sprachbefehl GET RUN TIME field.

Dabei entspricht ein mit create_hr_timer()(create high resolution timer) erzeugtes Objekt der hohen Messgenauigkeit des ABAP-Befehls (SET RUN TIME CLOCK RESOLUTION HIGH), ein mit create_lr_timer()erzeugtes Objekt entsprechend der niedrigen Messgenauigkeit.

Wie beim ABAP Sprachbefehl ist das Verhalten so, dass beim ersten Aufruf der Methode get_runtime()auf einer Objektinstanz der Wert 0 zurückgeliefert wird.

Der Vorteil dieser Klassenlösung liegt darin, dass beliebig viele dieser Timerobjekte und unterschiedliche Genauigkeit in einem Rollbereich verwendet werden können. Bei der Verwendung der ABAP-Sprachvariante kann die Genauigkeit nur einmal mit dem Befehl SET RUN TIME CLOCK RESOLUTION x festgelegt werden. Wird diese Anweisung ein zweites Mal durchlaufen führt dies zu einem Programmabbruch mit Kurzdump.

Die Klassenverschalung hat jeoch auch einen Nachteil: Die Implementation als Kernelmethode ist prinzipbedingt um etwa 2 Mikrosekunden langsamer als die im ABAP integrierte Variante. Dadurch eignet sie sich evtl. nicht um sehr kurze Codingstrecken zu vermessen.

Beziehungen

GET RUN TIME field.

SET RUN TIME CLOCK RESOLUTION x.

IF_ABAP_RUNTIME

Beispiel

Hinweise

Weiterführende Informationen






ABAP Short Reference   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 1960 Date: 20240424 Time: 000407     sap01-206 ( 41 ms )