analyzing a program the other day i got the following hit list in SE30 as TOP 2 and TOP 3 of the most
expensive calls sorted by net time descending.
Number Gross = Net Gross (%) Net (%) Call 11.975 23.651.879 15.612.054 12,0 7,9 Loop at IT_126570 8.698.597 8.039.825 = 8.039.825 4,1 4,1 Append IT_126574
source code excerpt:
REFRESH it_dict. it_dict = ist_dict. DELETE it_dict WHERE charactname NE pv_charactname AND language_int = pv_language_int.
it_dict and ist_dict are both sorted tables with a non-unique key with charactname language_int tabix value_char.
Note: The DELETE WHERE is intarnally processed as a LOOP WHERE which APPENDS the the lines
to be deleted to an internal system table which afterwards is used in a system call that does the
delete (not visible). Since ST12 (which i use normally) combines the LOOP and the APPEND to a
single line which shows DELETE as the call i used SE30 here to show all the details.
(How) can we optimize it?
How much time can we save?
I will follow up with more details later since there are some interesting things to show i think.