logo       

Re: Got the Issue: msg#00018

Subject: Re: Got the Issue
Every Node in the Xerces DOM is also its child NodeList (i.e. node == 
node.getChildNodes()). You get the same object every time. If a single 
thread is doing something like:

...
NodeList list = node.getChildNodes();
int length = list.getLength();
for (int i = 0; i < length; ++i) {
   for (int j = length - 1; j >= 0; --j) {
      Node nodeI = list.item(i);
      Node nodeJ = list.item(j);
      ...
   }
}

it's going to defeat the caching mechanism which was optimized for 
sequential access. We'll end up walking back and forth through the 
sibilings between i and j.

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrglavas@xxxxxxxxxx
E-mail: mrglavas@xxxxxxxxxx

keshlam@xxxxxxxxxx wrote on 07/24/2007 03:54:16 PM:

> Right. I wouldn't expect nodelists to be threadsafe, but do we reuse
> nodelists, or would independent calls to retrieve the same nodelist 
> return separate (non-entangled) objects?
> 
> I would expect the latter, since there could be several nodelist 
> accesses in progress at once even for a single thread.
> 
> As I said, trying to use the DOM as if it was partly thread-safe is 
> a cheat; you have to know exactly what you can and can't get away 
> with. It's better to implement proper thread-locking in the application 
code.
> 
> ______________________________________
> "... Three things see no end: A loop with exit code done wrong,
> A semaphore untested, And the change that comes along. ..."
> -- "Threes" Rev 1.1 - Duane Elms / Leslie Fish (http://www.ovff.
> org/pegasus/songs/threes-rev-11.html)


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
boot-loaders.gr...    php.pear.genera...    debugging.valgr...    kde.redhat.user...    text.xml.xsl.ge...    culture.languag...    hardware.microc...    java.servicemix...    redhat.release....    web.zope.plone....    user-groups.lin...    opendarwin.webk...    video.mjpeg.use...    sysutils.bcfg2....    encryption.gpg....    lx-office.devel...    xfree86.forum/2...    mail.mutt.devel...    acpi.devel/2003...    qnx.openqnx.dev...    network.irc.irs...    freebsd.devel.m...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe