I am splitting hair here, so I apologize... but to reiterate a technical point, which was recently brought up in the ongoing DOM-IDOM integration thread.
The better performance of IDOM is probably related more to the fact that it does not hit the system heap as often as the old DOM implementation and hence avoids contention, rather than reference counting. Incrementing and decrementing an integer (even in a thread safe manner) is probably not adding much more overhead to an application which is doing something meaningful with the node it is looking at. Especially on a single CPU machine. On an SMP machine, the cost of an atomic increment/decrement operation may be measurable. Don't know enough to comment there. Samar Lotia -----Original Message----- From: Richard Bolen [mailto:[EMAIL PROTECTED]] Sent: Friday, April 19, 2002 12:41 To: [EMAIL PROTECTED] Subject: RE: Difference between DOM and IDOM? I'm new to Xerces-C++ but may I make one small suggestion to alleviate some of the confusion. Add a note to the API docs for IDOM classes explaining their relationship to the DOM classes. Currently the docs appear to be copies. That might help until a decision is made about the next step... On Friday, 04/19/2002 at 07:20 ZE2, "Markus Fellner" <[EMAIL PROTECTED]> wrote: > IDOM is fast! (in my tests about 5-10x faster than DOM) > ... > BUT!! > ... > There is a problem with memory management. Once allocated memory is not > deallocated up to the deletion of the overall document. I believe those two statements are directly related. IDOM is faster, in part, because it doesn't waste cycles on maintaining reference counts. BTW, a point of personal peeve: IDOM _is_ an implementation of the Document Object Model (DOM) APIs. It might be a good idea to find a better way to refer to the older DOM implementation, to avoid confusion... --------------------------------------------------------------------- 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]
