Thanks, Dennis. I am looking for a more stable ( either DOM or IDOM) parser with most of the bug fixed. Which version should I download? I probably will go for the DOM since the work experimental IDOM scared me.
Any suggestion is welcomed. Thanks Eva "Houle, Dennis W" wrote: > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
