Try OpenEdge Now
skip to main content
Managing ABL Applications
ABL and R-code Deployment and Management : Managing Procedure Libraries : Library overview
 

Library overview

OpenEdge provides two types of procedure libraries: standard and memory-mapped. A standard library contains r-code that executes in local memory. A memory-mapped library contains r-code that executes in shared memory. The r-code files that you place in a library are called members.
Note: Whether the source code is an ABL procedure or ABL class, it compiles into r-code. For the purposes of this topic, procedure and class files are equivalent.
When you execute a member from either a standard library in local memory or a memory-mapped library in shared memory, you gain the following advantages:
*Faster access to r-code
*Fewer file open and close operations
*Less I/O to temporary files
When you execute a member from a memory-mapped library in shared memory, you gain the following additional advantages:
*Even faster access to r-code
*Requires less memory because multiple users access the same r-code segments in shared memory
When loading and executing r-code from operating system files in a directory, OpenEdge must open and close each file individually. When loading and executing r-code from standard or memory-mapped libraries, OpenEdge opens only one file—the library itself—to access all of the members in the library.
OpenEdge opens a library the first time you run a member from the library. The library stays open until the end of your OpenEdge session or until you remove the library from the PROPATH. For more information about how standard and memory-mapped libraries interact with PROPATH during an OpenEdge session, see Libraries and PROPATH.
For information about monitoring and optimizing r-code execution during a client session, see ABL Client Deployment Overview. For more information about r-code structure and execution, see R-code Features and Functions.
* Loading r-code from a file
* Loading r-code from a standard library
* Loading r-code from a memory-mapped library