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


>>reflect the reality that I repeatedly hear about: one can make significant 
>>optimizations in an implementation if there is some understanding that 
>>there will be no entities to expand.  
> 
> 
> What are these optimizations?  

If you know that you only have to do < and &, then you can do 
inplace substitutions: you don't have to have mechanisms for switching 
to some alternate buffer, copying and pasting "raw" input into a 
normalized buffer to pass back to the user, etc.  When you see an & you 
can inline the character tests, not collecting the whole &...; into a 
lookup key, etc.  If I'm not using SAX, but am instead doing some kind 
of XML tokenizer (perhaps to be used in by a SAX library), "zero-copy" 
could mean avoiding lots of work:  I just pass the buffer back to the 
user directly.

Yes, you can write an optimized codepath that does this, falling back 
(or falling over :) when it finds other entities, but it should be clear 
that if you *never* have those things, then your code can be smaller 
(and therefore more reliable), and faster.

Make sense?
	/r$


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