DiscussionsIssue archiveOCCT:Foundation Classes

Archived issue #0021457

Make Standard::Purge() working hard to return more memory to the system

Open CASCADEOCCT:Foundation Classesclosed0 public notes

Search issues

Description

The current version of the method Purge of the class Standard_MMgrOpt releases
only free memory blocks of sizes greater than the value of MMGT_CELLSIZE (200 by
default). Smaller blocks are allocated from within so named memory pools, and
they are never returned to the system. With this improvement, the method Purge()
finds the pools that do not contain any busy blocks and releases them.

Additional information

Documentation remark, added by Author 2009-11-04 10:36:19:

Improvements:
Memory management.
The method Standard::Purge has been improved. The previous implementation of
this method in the class Standard_MMgrOpt released only free memory blocks of
sizes greater than the value of MMGT_CELLSIZE (200 by default). Smaller blocks
are allocated from within so named memory pools, and they were never returned to
the system. With this improvement, the method Purge() finds the pools that do
not contain any busy blocks and releases them. After that the virtual address
space is really returned to the system.

Public activity

No public notes

Participants are labeled by their role within this record.