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]
