Lists Home |
Date Index |
>>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
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.