Hello xerces-c-dev,

Xerces-C   version number - 2.5.0
Platform - Intel Pentium 4
Operating system and version number - Microsoft Windows 
2000 AS
Compiler and version number - cygwin (Visual C   7.0)
The C   application code that failed:
//--------------------------------------------------------
---------------------------
#include <stdio.h>
#include <conio.h>
#include <xercesc/dom/DOM.hpp>

XERCES_CPP_NAMESPACE_USE

int main(int argc, char* argv [])
{
        XMLPlatformUtils::Initialize();

        XMLCh * xml_str;

        DOMImplementation* impl = 
DOMImplementationRegistry::getDOMImplementation(0);

        xml_str = XMLString::transcode( "root" );
        DOMDocument*   doc = impl->createDocument(0, 
xml_str, 0);
        XMLString::release( &xml_str );
        DOMElement*   root = doc->getDocumentElement();

        xml_str = XMLString::transcode( "FirstElement" );
        DOMElement*   e1 = doc->createElement(xml_str);
        XMLString::release( &xml_str );
        root->appendChild(e1);

        xml_str = XMLString::transcode( "SecondElement" );
        DOMElement*   e2 = doc->createElement(xml_str);
        XMLString::release( &xml_str );
        root->appendChild(e2);

        xml_str = XMLString::transcode( "aTextNode" );
        DOMText*       textNode = doc->createTextNode
(xml_str);
        XMLString::release( &xml_str );
        e1->appendChild(textNode);

        printf("Step 1\n");                     // Memory 
usage 2 MB
        getch();

        for( int i=0; i<5000000; i   )
        {
              DOMNode * node = e1->cloneNode(true);
              node->release();
        }

        printf("Step 2\n");                     // Memory 
usage 158 MB !!!
        getch();

        doc->release();

        printf("Step 3\n");                     // Memory 
usage 7 MB
        getch();

        XMLPlatformUtils::Terminate();

        return 0;
}
//--------------------------------------------------------
---------------------------

What happened - memory usage:
  step 1 - 2 MB,
  step 2 - 158 MB (!!!),
  step 3 - 7 MB.


-- 
Best regards,
   alexch                          mailto:[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to