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]

Reply via email to