Anfang des Inhaltsbereichs GET RUN TIME FIELD Dokument im Navigationsbaum lokalisieren

Mit der Anweisung GET RUN TIME FIELD können Sie die relative Laufzeit von Programmsegementen in Mikrosekunden messen. Die Syntax ist wie folgt:

Syntax

GET RUN TIME FIELD <f>.

Der erste Aufruf dieser Anweisung in einem Programm setzt das Feld <f>, welches vom Typ I sein sollte, auf null. Bei jedem weiteren Aufruf setzt die Anweisung das Feld <f> auf die Laufzeit des Programms seit dem ersten Aufruf in Mikrosekunden.

Hinweis

Da in der Client/Server-Umgebung des R/3-Systems Laufzeiten keine festen Größen sind, sondern sich je nach Systembelastung ändern können, empfiehlt es sich solche Laufzeitmessungen mehrmals vorzunehmen und aus den Resultaten, je nach Zielsetzung; das Minimum oder den Mittelwert zu bilden.

Beispiel

DATA t TYPE i.

GET RUN TIME FIELD t.
WRITE: / 'Runtime', t.

DO 10 TIMES.
  GET RUN TIME FIELD t.
  WRITE: / 'Runtime', t.
ENDDO.

Die Ausgabeliste dieses Programmsegments kann etwa wie folgt aussehen:

Runtime          0

Runtime      4.926
Runtime      5.228
Runtime      5.649
Runtime      6.100
Runtime      6.512
Runtime      6.906
Runtime      7.324
Runtime      7.724
Runtime      8.231
Runtime      8.623

Nach der Initialisierung wird die Laufzeit der DO-Schleife im Feld T hochgezählt.

Für die Messung der Laufzeit von Programmsegmenten bilden Sie am besten die Differenz der relativen Laufzeiten nach und vor dem betreffenden Segment.

Beispiel

DATA: t1 TYPE i,
      t2 TYPE i,
      t3  TYPE p DECIMALS 2,
      n  TYPE i VALUE 1000.

t = 0.
DO n TIMES.
  GET RUN TIME FIELD t1.

*****************************
* Code to be tested         *
*****************************

  GET RUN TIME FIELD t2.
  t2 = t2 - t1.
  t3 = t3 + t2 / n.
ENDDO.

WRITE: / 'Mean Runtime: ', t3, 'microseconds'.

Dieses Beispiel zeigt eine DO-Schleife, die um ein zu testendes Programmsegement (hier als Kommentar eingefügt) konstruiert wird. Die Differenz der relativen Laufzeiten nach (T2) und vor (T1) dem Programmsegment wird N-mal gemessen und daraus der Mittelwert (T) gebildet. Die Ausgabe kann etwa so aussehen:

Mean Runtime:            23,40 microseconds

Die ausgegebene Zeit zeigt den Offset, der durch die Laufzeitmessung selbst entsteht und von der Laufzeit eines realen Programmsegments abzuziehen ist.

Ersetzen Sie zum Beispiel den Kommentarblock durch die einfache Zuordnung

T = T.

erhalten Sie als Ergebnis etwa

Mean Runtime:            28,84 microseconds

Dies zeigt, daß die Laufzeit für eine einfache Zuordnungsanweisung (ohne Typkonvertierung) etwa 5 Mikrosekunden ist. Wenn Sie T einem Feld vom Typ C zuordnen erhöht sich die Laufzeit durch die Typkonvertierung um etwa einen Faktor 4.

Ende des Inhaltsbereichs