← Prev in month ← Prev in thread

Avoid using the XML DOM because it is (a) slow and (b) not thread-safe

From
Costello, Roger L. <>
To
"" <>
Date
2012-09-06T11:41:16Z
ID
<>
Thread
Avoid using the XML DOM because it is (a) slow and (b) not thread-safe
Hi Folks,

From Michael Kay [1]:

   Many people don't realize that the DOM is not thread-safe 
   (even if you are only doing reads). If you are caching a DOM 
    object, make sure you synchronize all access to it.

    Frankly, this makes DOM unsuited to this kind of application
    (using XSLT in a high-transaction web service). I know I'm 
    biased, but I would suggest switching to Saxon, whose native 
    tree implementation is not only far faster than DOM, but also 
    thread-safe. One user recently tweeted about getting a 100x 
    performance improvement when they made this switch.

Michael also states [2]:

    The DOM spec says that it isn't thread-safe, and the Xerces 
    implementation of the DOM takes this literally - innocent-looking 
    read operations can cause havoc if there are other threads active.

Do you agree? Disagree?

/Roger

[1] http://stackoverflow.com/questions/12291840/unknown-error-in-xpath/12297873#12297873

[2] http://saxon.markmail.org/search/?q=#query:+page:1+mid:kuocj3i27lgkepwn+state:results
← Prev in month ← Prev in thread