gelöst Geschwindigkeit Optimieren bei Loop und Zuweisung


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

gelöst Geschwindigkeit Optimieren bei Loop und Zuweisung

Beitragvon autohandel7 » 15.01.2019, 10:24

Hallo Experten,
es geht um Geschwindigkeit Optimierung bei Loop schleife:
loop at lt_table assigning <lf_table>.
ls_table1-feld1 = '10'.
ls_table1-feld2 = <lf_table>-feld1.
append ls_table1 to lt_table1.
endloop.

kann sein dass ich in loop staat Strukture ls_table1 auch <lf_table1> benutze? Wird es schnelle?
dann:
asign <lf_table1> to lt_table1.

Danke
autohandel7
Specialist
 
Beiträge: 155
Registriert: 14.07.2014, 09:48
Wohnort: Hannover
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Geschwindigkeit Optimieren bei Loop und Zuweisung

Beitragvon black_adept » 15.01.2019, 11:14

Hallo autohandel7,

4 Anmerkungen
  • Wie immer: Rechtschreibung!
  • Namensgebung der Variablen: Du verwendest scheinbar die ungarische Notation - aber dann bitte durchgängig und nicht mal "f" wie in <lf_table> und mal "s" wie in ls_table1 ( wofür steht "f"?)
  • Wenn du ls_table durch <lf_table> ersetzt wird die 1. Zuweisung ls_table1-feld1 = '10' zu <lf_table>-feld1 = '10' und du veränderst damit die 1.Zeile. Aber das willst du nicht
  • Optimierungen einer LOOP-Schleife, wo man letztlich nur den Zugriff ( Feldsymbol, ASSINGNING, INTO REFERENCE ) auf die Tabellenzeilen variiert sind im Allgemeinen nicht spürbar. Ja - es gibt tatsächlich Geschwindigkeitsunterschiede, aber die sind in der Realität marginal, so dass es nicht lohnt hier wirklich Aufwand zu investieren. Wenn ein Programm zu langsam ist habe ich NOCH NIE erlebt, dass es daran lag welche Version man im LOOP verwendet hat.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Geschwindigkeit Optimieren bei Loop und Zuweisung

Beitragvon IHe » 15.01.2019, 11:20

Man könnte das vielleicht noch anders schreiben:

loop at lt_table assigning <lf_line>
APPEND INITIAL LINE TO lt_table1 ASSIGNING <lf_new_line>.
<lf_new_line>-feld1 = '10'.
<lf_new_line>-feld2 = <lf_line>-feld1
endloop.

... ob das einen spürbaren Effekt hat mag ich aber bezweifeln.
IHe
ForumUser
 
Beiträge: 32
Registriert: 13.01.2016, 13:29
Dank erhalten: 8 mal
Ich bin: Entwickler/in

Re: Geschwindigkeit Optimieren bei Loop und Zuweisung

Beitragvon ralf.wenzel » 15.01.2019, 12:18

black_adept hat geschrieben:( wofür steht "f"?)


Kenne ich von einigen Kunden als "[L]okales [F]eldsymbol". Auch so ein Unsinn - erstens sind Feldsymbole global nicht zu verwenden und zweitens hat ein Feldsymbol spitze Klammern zur Kennzeichnung.

Und du hast genau recht: Ich kenne x Fälle, wo sowas nicht einheitlich durchgezogen wird. Das ist wie Kommentare, die nicht an Programmänderungen angepasst werden.


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3339
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 207 mal
Ich bin: Freiberufler/in

Re: Geschwindigkeit Optimieren bei Loop und Zuweisung

Beitragvon DeathAndPain » 15.01.2019, 15:02

black_adept hat geschrieben:Wie immer: Rechtschreibung!

Ich halte ihn für einen Ausländer. Er wird es nicht besser hinkriegen. Es ist ja nicht nur die Rechtschreibung; auch inhaltlich ist er schwer zu verstehen. Aber er gibt sich Mühe, das habe ich bei anderen Fragestellern schon anders erlebt.

Ralf hat geschrieben:erstens sind Feldsymbole global nicht zu verwenden

Das halte ich für ein Gerücht. Es hindert Dich niemand daran, eines im Top-Include zu definieren und überall zu nutzen.

Ich kenne x Fälle, wo sowas nicht einheitlich durchgezogen wird. Das ist wie Kommentare, die nicht an Programmänderungen angepasst werden.

Ganz genau. Man merkt, dass der geistige Bezug zur Notation irgendwann verlorengeht und nur noch irgendwas geschrieben wird, weil man es halt immer so schreibt (egal ob es unter den gegebenen Umständen richtig oder falsch ist).
DeathAndPain
Expert
 
Beiträge: 934
Registriert: 05.05.2006, 10:14
Dank erhalten: 218 mal
Ich bin: Entwickler/in

Re: Geschwindigkeit Optimieren bei Loop und Zuweisung

Beitragvon ralf.wenzel » 15.01.2019, 15:30

Ich habe nicht gesagt, dass das nicht geht, sondern dass das zu unterlassen ist.


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3339
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 207 mal
Ich bin: Freiberufler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Adobe Forms - Download - Keine Seiten
vor 11 Stunden von shimsham 2 Antw.
UTF-8 mit Funktionsbaustein
vor 13 Stunden von a-dead-trousers 4 Antw.
gelöst Fehler SAVE NOT ALLOWED bei F4IF_START_VALUE_REQUEST
vor 10 Stunden von AdrianSchm 1 Antw.
SAP Logon bei Aufruf WebGUI
Gestern von msfox 0 Antw.
Formatierung Textdatei aus Query und ABAP
vor 13 Stunden von wreichelt 5 Antw.

  Ähnliche Beiträge beta
Zuweisung der Region
04.09.2003, 19:08 von Hermann 3 Antw.
Dynamisches Zuweisung
01.12.2009, 19:38 von Tron 1 Antw.
Zuweisung von Tabellenstrukturen
03.05.2011, 14:04 von av_deh 8 Antw.
gelöst Typkonflikt bei Zuweisung von Referenzen cl_abap_typedescr
17.09.2018, 11:13 von autohandel7 1 Antw.
Umstellung Unicode - Zuweisung gepackter Felder
24.10.2012, 11:29 von gutzeli 8 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder