Skip to content

Instantly share code, notes, and snippets.

@larshp
Last active April 9, 2024 12:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larshp/a61d004894d3207c9fb12c168180b011 to your computer and use it in GitHub Desktop.
Save larshp/a61d004894d3207c9fb12c168180b011 to your computer and use it in GitHub Desktop.
performance test
REPORT zlocals.
DATA lt_locals TYPE STANDARD TABLE OF i WITH DEFAULT KEY.
FIELD-SYMBOLS <val> TYPE i.
DATA: BEGIN OF ls_locals,
val1 TYPE i,
val2 TYPE i,
val3 TYPE i,
val4 TYPE i,
val5 TYPE i,
val6 TYPE i,
val7 TYPE i,
val8 TYPE i,
val9 TYPE i,
val10 TYPE i,
val11 TYPE i,
val12 TYPE i,
val13 TYPE i,
val14 TYPE i,
val15 TYPE i,
val16 TYPE i,
val17 TYPE i,
val18 TYPE i,
val19 TYPE i,
val20 TYPE i,
val21 TYPE i,
val22 TYPE i,
val23 TYPE i,
val24 TYPE i,
val25 TYPE i,
val26 TYPE i,
val27 TYPE i,
val28 TYPE i,
val29 TYPE i,
val30 TYPE i,
val31 TYPE i,
val32 TYPE i,
val33 TYPE i,
val34 TYPE i,
val35 TYPE i,
val36 TYPE i,
val37 TYPE i,
val38 TYPE i,
val39 TYPE i,
val40 TYPE i,
val41 TYPE i,
val42 TYPE i,
val43 TYPE i,
val44 TYPE i,
val45 TYPE i,
val46 TYPE i,
val47 TYPE i,
val48 TYPE i,
val49 TYPE i,
val50 TYPE i,
val51 TYPE i,
val52 TYPE i,
val53 TYPE i,
val54 TYPE i,
val55 TYPE i,
val56 TYPE i,
val57 TYPE i,
val58 TYPE i,
val59 TYPE i,
val60 TYPE i,
val61 TYPE i,
val62 TYPE i,
val63 TYPE i,
val64 TYPE i,
val65 TYPE i,
val66 TYPE i,
val67 TYPE i,
val68 TYPE i,
val69 TYPE i,
val70 TYPE i,
val71 TYPE i,
val72 TYPE i,
val73 TYPE i,
val74 TYPE i,
val75 TYPE i,
val76 TYPE i,
val77 TYPE i,
val78 TYPE i,
val79 TYPE i,
val80 TYPE i,
val81 TYPE i,
val82 TYPE i,
val83 TYPE i,
val84 TYPE i,
val85 TYPE i,
val86 TYPE i,
val87 TYPE i,
val88 TYPE i,
val89 TYPE i,
val90 TYPE i,
val91 TYPE i,
val92 TYPE i,
val93 TYPE i,
val94 TYPE i,
val95 TYPE i,
val96 TYPE i,
val97 TYPE i,
val98 TYPE i,
val99 TYPE i,
val100 TYPE i,
END OF ls_locals.
CONSTANTS lc_iterations TYPE i VALUE 10000.
DO 100 TIMES.
INSERT INITIAL LINE INTO TABLE lt_locals.
ENDDO.
ls_locals-val1 = 1.
ls_locals-val2 = 2.
DO 2 TIMES.
* structured
GET RUN TIME FIELD DATA(start).
DO lc_iterations TIMES.
DO 100 TIMES.
ASSIGN COMPONENT sy-index OF STRUCTURE ls_locals TO <val>.
ASSERT sy-subrc = 0.
ENDDO.
ENDDO.
GET RUN TIME FIELD DATA(end).
WRITE / |structured: { end - start }|.
* internal table
GET RUN TIME FIELD start.
DO lc_iterations TIMES.
DO 100 TIMES.
READ TABLE lt_locals INDEX sy-index ASSIGNING <val>.
ASSERT sy-subrc = 0.
ENDDO.
ENDDO.
GET RUN TIME FIELD end.
WRITE / |internal: { end - start }|.
ENDDO.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment