[Home] [By Thread] [By Date] [Recent Entries]
>> >At the very least provide an isEmpty() so that I don't have to do the >> >allocation in the common case there are no attributes. >> >> I didn't understand this. Why is an AttributeList interface inherently more >> efficient than AttributeMap? The use of an AttributeMap interface doesn't >> imply the creation of an object per start tag, any more than AttributeList >> does. > >Because to iterate over the AttributeMap an Enumeration object has to >get allocated. AttributeList allows iteration over the attributes >without having to do any allocation. > >James Okay, I thought you were talking about the instantiation of the map implementation itself. The fact of the matter is that, although there is some overhead to instantiating an iterator object, looping over a list of attributes and doing n string compares is not all that efficient either. It just depends on what your priority is: iterating or name lookup. The instantiation of the object is only necessary if you want to iterate (now I understand what you meant by "isEmpty"). It might not be too off-the-wall to claim that the lookup by name will be the more frequent usage case for SAX. I like the AttributeMap interface with a "getIterator()" method because it is simple, elegant and standard. If there is a general consensus that the performance issue is significant (to be honest I am not entirely convinced that this will be a bottleneck), your AttributeList interface is just fine, since it provides both types of access. Cheers, Matthew xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|

Cart



