Ansicht
Dokumentation

ABENMEMORY_USAGE_ABEXA - MEMORY USAGE ABEXA

ABENMEMORY_USAGE_ABEXA - MEMORY USAGE ABEXA

CL_GUI_FRONTEND_SERVICES - Frontend Services   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Tiefe Datenobjekte, Speicherverbrauch

Das Beispiel demonstriert die Verwaltungskosten tiefer Komponenten mit geringem Dateninhalt.

Quelltext

Ausführen

Beschreibung

An den Breakpoints kann man sich den Speicherbedarf der vier internen Tabellen itab, rtab, ttab und otab vom ABAP Debugger anzeigen lassen.

Beim ersten Breakpoint haben die vier Tabellen den gleichen dynamischen, aber nicht duplikativen, Dateninhalt, nämlich 1000 unterschiedliche Integer-Zahlen. Während bei itab zu den etwa 4 KB Dateninhalt nur die Verwaltungskosten für itab selbst von etwa 100 Byte hinzukommen, schlagen bei den übrigen Tabellen für jede Tabellenzeile Verwaltungskosten zu Buche. Bei den tiefen Zeilentypen in rtab, ttab und otab stehen den 4 KB Dateninhalt größenordnungsmäßig 100, 200 bzw. 300 KB Verwaltungskosten gegenüber. Die Kosten für die innere interne Tabelle in ttab sind größer als die für die Datenreferenz in rtab und die Verwaltungskosten für otab setzt sich aus den Kosten für die Objektreferenzen und für die internen Tabellen in den referenzierten Objekten zusammen.

Beim zweiten Breakpoint wurden alle Zeilen jeder der vier Tabellen mit FREE initialisiert. Auf den Speicherbedarf von itab hat dies natürlich keinen Einfluss. Bei rtab wurden die Daten und alle Verwaltungsinformationen der einzelnen Referenzvariablen gelöscht, so dass ein Speicherbedarf von etwa 8 KB für die initialen Referenzen zuzüglich der Verwaltungskosten für rtab selbst übrig bleiben. Bei ttab wurden die Daten gelöscht, die einzelnen Tabellenheader bleiben aber bestehen, so dass zwar weniger als vorher, aber nach wie vor etwa 100 KB reine Verwaltungskosten übrig bleiben. Bei otab verhält es sich dagegen wieder wie bei rtab und es fallen nur noch die Kosten für die initialen Referenzen an.

Das Beispiel zeigt zum einen, dass bei internen Tabellen mit tiefen Zeilentypen die Verwaltungskosten den Dateninhalt leicht deutlich übersteigen können und zum anderen, dass nach dem Löschen von Daten eine Tabelle mit Objektreferenzen günstiger ist, als eine Tabelle mit inneren Tabellen.






BAL Application Log Documentation   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 2631 Date: 20240523 Time: 093622     sap01-206 ( 70 ms )