[Home] [By Thread] [By Date] [Recent Entries]

  • From: Shaun McCance <shaunm@g...>
  • To: xml-dev@l...
  • Date: Thu, 15 Oct 2015 11:27:39 -0400

On Thu, 2015-10-15 at 15:53 +0100, Michael Kay wrote:
> > Comparing two strings for equality is linear time on the length of the
> > strings.
> 
> Not necessarily. If most of the comparisons return false, it may be a
> lot better than linear. It’s likely in many cases that the comparison
> will start by comparing the string lengths, so you might get the
> fastest comparison on average by having the lengths highly variable.

Linear time is the upper bound, which is generally how algorithms are
described. Whether comparing string lengths is a good idea depends on
your string implementation. I'm a C programmer. For me, a string is a
NULL-terminated char array. It costs time to compute a length, so I
wouldn't bother.

> But who says it’s string comparison that dominates? It might be the
> effect on network latency, or the cost of doing compression. You need
> to make measurements to find out.

I agree 100% with this statement. Using single character element names
is an absurd premature optimization. Always measure first.

--
Shaun




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member