Kbase 15733: Prolib Optimization -plm -pls and PROPATH usage for library
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
Prolib Optimization -plm -pls and PROPATH usage for library
When Progress searches for a .p or .r, it uses the PROPATH environment
variable to get a list of directories to search. When it comes upon
a Progress Library on the PROPATH (recognized by a .pl extension) that
library is opened and searched, but ONLY for .r files. The library
will remain open until either the end of the Progress session or the
PROPATH is changed within the session such that the library is no
longer on the PROPATH. This removes the overhead of closing and
reopening the library for each search.
When a library is first opened, its internal directory is read into
memory in its entirety. The amount of memory required is approximately
29 bytes plus the name of the entry. For example, for the entry
MYFILE.R the length would be 29 + 7 = 36 bytes.
If the -plm parameter is specified, then the entire directory is NOT
read into memory. Instead, a 512-byte buffer is used to cache the
directory as needed. This can save space but will increase time
overhead.
When a library is searched, prior to 7.3B a linear search was made of
the in-memory copy of the library directory to find the entry. In 7.3B
and later, a binary search was instituted to search the directory list
(but ONLY if -plm is NOT specified), which is faster on large
libraries.
Using a library can speed up execution because rather than swapping
segments to the swap file and reading them in again when -mmax is
reached, it only has to re-read them from the library without
having to do the writing (since all r-code segments are read-only).
However, if a library is on a mounted file system on a network, then
using a local swap file might be faster. The -pls startup parameter
forces Progress to swap all segments (including those from libraries)
to the sort file.
Progress Software Technical Support Note # 15733