Details
Description
We are currently using Xerces in a server application. This server is
compiled to run on several different OSes. All of these OSes (Windows 2000,
HPUX, Solaris and AIX) have a scalability bottleneck in their memory
subsystems. This is because each one of them employ a critical section in
there.
The Xerces library makes frequent calls to new/delete and malloc/free.
Because of this, the Xerces library is now the cause of the bottleneck.
The change we are asking for is not a new memory subsystem or a removal of all
new/delete and malloc/free. The change we are asking for is to have all
memory allocation and free calls go through one pair of functions. These
functions would then do a simple malloc or free.
Why is this important? Because once in place, we can make a quick change to
the functions to call our own memory management subsystem instead of
malloc/free.
Why couldn't we do this ourselves? We can. The problem is when we upgrade to
the next version of Xerces, we will have to repeat all of our work again.