[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Do long element names impact performance?
- From: Shaun McCance <shaunm@gnome.org>
- To: xml-dev@lists.xml.org
- Date: Thu, 15 Oct 2015 10:33:29 -0400
On Thu, 2015-10-15 at 13:43 +0000, Costello, Roger L. wrote:
> Hi Folks,
>
> Is the following true or false?
>
> XML developers who fail to grasp the distinction between reading and evaluating
> an XML instance document may have a good model of the structure of XML,
> but they usually have a terrible model of the efficiency of processing XML. One
> XML developer used only one-letter element names, because he felt that it would
> be faster for the computer to look up one-letter elements than a multi-letter name.
> While it may be true that shorter names can save a microsecond at read time, this
> makes no difference at all at evaluation time. Every element, regardless of its name,
> is just a memory location, and the time to access the location does not depend on the
> name of the element.
>
> /Roger
Depends entirely on what you're doing and how it's implemented.
Comparing two strings for equality is linear time on the length of the
strings. If you select "//filename", a very naive XPath implementation
will look at every element and compare its name to "filename". This, in
principle, takes longer than comparing every name to "f".
In practice, XML frameworks use things like name pools, which allow
element names to be compared with constant time integer equality.
If cryptic one-letter element names actually make a measurable impact on
performance in your application, you need to rethink why you're using
XML in the first place.
--
Shaun
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]