Eva,
I'm developing a real-time embedded XML application so IDOM was the clear
choice for me to reduce memory use and improve timing.

I'm still in the development stage so I haven't been using IDOM for a long
time, nor on large files.  I'm sure there are long time users out there who
could share there IDOM experiences.

Based on my experience so far, I would only remind you to not delete any
pointers returned from IDOM operations - just delete the IDOM_Document* when
finished with the XML document.

The IDOM samples were helpful to me to get started.
- Dennis

-----Original Message-----
From: Eva Ko [mailto:[EMAIL PROTECTED]]
Sent: Thursday, September 27, 2001 3:10 PM
To: [EMAIL PROTECTED]
Subject: Re: getElementsByTagName in IDOM


Hi Dennis,

So you have been working with IDOM for a long time?
You think is safe and fast  in parsing very large xml data using buffer too
?

Any suggestion is welcomed.. thanks

eva

"Houle, Dennis W" wrote:

> Eva,
> It sounds like the problem you are describing was the following bug:
>
>  * Revision 1.5  2001/08/07 17:01:09  tng
>  * [Bug 2676] IDOM: pure virtual called in IDDeepNodeListImpl::item() .
>
> So you'll need to update to a build that's at least newer than 2001/08/07
> (http://xml.apache.org/dist/xerces-c/nightly/).
>
> I've also pasted below a posting that compares DOM and IDOM performance.
> The IDOM seems stable and well supported.
>
> - Dennis
>
> Hey All,
>
> I just did some memory checks and timing of DOM vs IDOM. I thought I'd
> post them in case people were interested:
>
> Test File
> =========
> $ ll DrosGenome1_BioSequence.xml
> -rw-r--r--    1 jasons   jasons   10022430 Sep  7 10:52
> DrosGenome1_BioSequence.xml
>
> 10Mb file, ~170k elements.
>
> IDOM
> ====
> $ memwatch.pl IDOMCount -v=never DrosGenome1_BioSequence.xml
> Memory Usage for process 14375 = 3712 kB
> Memory Usage for process 14375 = 15404 kB
> Memory Usage for process 14375 = 23016 kB
> Memory Usage for process 14375 = 30064 kB
> Memory Usage for process 14375 = 36652 kB
> DrosGenome1_BioSequence.xml: 24482 ms (172011 elems).
>
> DOM
> ====
> $ memwatch.pl DOMCount -v=never DrosGenome1_BioSequence.xml
> Memory Usage for process 14377 = 3712 kB
> Memory Usage for process 14377 = 16484 kB
> Memory Usage for process 14377 = 25848 kB
> Memory Usage for process 14377 = 35228 kB
> Memory Usage for process 14377 = 44620 kB
> Memory Usage for process 14377 = 54000 kB
> Memory Usage for process 14377 = 63368 kB
> Memory Usage for process 14377 = 72732 kB
> DrosGenome1_BioSequence.xml: 36587 ms (172011 elems).
> Memory Usage for process 14377 = 75772 kB
> Memory Usage for process 14377 = 75772 kB
>
> So IDOM has about half the memory usage for a 100Mb file and parses it
> in 2/3 the time
>
> Perl API
> ========
>
> Just for the curious here are the corresponding results for the Perl API
>
> IDOM
> ====
> $ memwatch.pl perl samples/IDOMCount.pl -v=never
DrosGenome1_BioSequence.xml
> Memory Usage for process 14364 = 3712 kB
> Memory Usage for process 14364 = 19748 kB
> Memory Usage for process 14364 = 27376 kB
> Memory Usage for process 14364 = 34424 kB
> Memory Usage for process 14364 = 41008 kB
> Memory Usage for process 14364 = 47264 kB
> DrosGenome1_BioSequence.xml: duration: 26 wallclock secs (23.68 usr +
0.35
> sys = 24.03 CPU)
>         (172011 elems)
>
> Only slightly slower, with about 25% more memory usage
>
> DOM
> ====
> $ memwatch.pl perl samples/DOMCount.pl -v=never
DrosGenome1_BioSequence.xml
> Memory Usage for process 14366 = 3712 kB
> Memory Usage for process 14366 = 22248 kB
> Memory Usage for process 14366 = 32004 kB
> Memory Usage for process 14366 = 41792 kB
> Memory Usage for process 14366 = 51552 kB
> Memory Usage for process 14366 = 61264 kB
> Memory Usage for process 14366 = 70920 kB
> Memory Usage for process 14366 = 80600 kB
> DrosGenome1_BioSequence.xml: duration: 36 wallclock secs (34.75 usr +
0.47
> sys = 35.22 CPU)
>         (172011 elems)
>
> Seems to be about the same speed with < 10% more memory usage.
>
> jas.
> -----Original Message-----
> From: Eva Ko [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, September 27, 2001 1:18 PM
> To: [EMAIL PROTECTED]
> Subject: Re: getElementsByTagName in IDOM
>
> Hi,
>
> I am trying to us IDOM_Document::getElementsByTagName im the following
> code, and I got a code dump.
> I am using the stable built from xerces-c-src_2001-07-17, my plateform
> is solaris
> Any idea why?
>
> Also, Have any one use IDOM, is it pretty save in general??  I am
> writing new application that will use  DOM parser,
> not sure if I should stick with DOM or IDOM.
>
> Thanks for your reply in advance.
>
> Here is the code:
>
>  IDOM_Node *doc = parser->getDocument();
>
>         IDOM_Document *document = parser->getDocument();
>
>         std::cout << " got the document" << std::endl;
>
>         IDOM_NodeList *list;
>
>         char * str = "CommandIndex";
>         cout << " CommandIndex: " << str << endl;
>
>         list = document->getElementsByTagName(XMLString::transcode(str)
> );
>         std::cout << " got the list " << std::endl;
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


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

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

Reply via email to