[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Avoid using the XML DOM because it is (a) slow and (b) notthread-safe
- From: "Costello, Roger L." <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Thu, 6 Sep 2012 11:41:16 +0000
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]