Consultor Eletrônico



Kbase P167677: ABL: How does the ABL handle memory when a large number of small class objects are instantiated in a
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   09/06/2010
Status: Unverified

GOAL:

ABL: How does the ABL handle memory when a large number of small class objects are instantiated in an application?

GOAL:

Does the ABL load all the classes r-code of the instantiated class objects into memory?

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.1x
OpenEdge 10.2x

FIX:

In general, the ABL loads only one instance of the r-code for any procedure or class into memory. An exception to this rule is when the version of the file changes i.e. is recompiled while an instance of the r-code is in use with the old version.

The ABL only keeps the in-use r-code in memory, based on the size of the Directory Size (-D) client session startup parameter which determines the number of compiled procedure directory entries and flushes the unused (but loaded) r-code into a temp file (rcdaXXXX).

The memory for variables, properties and other things that are per-instance of a class are in memory all the time while that instance exists.