Of course, then there's the space/time trade-off. In particular, in XML,
the proportion of times when you're going to change parsing state based
on whether something's a NameChar/NameStart is not that high; so how much
table space & traversal code is it worth investing in speeding up that case?
Maybe a lot, maybe not.
What we need is a truly good profiler. Anyone with a good Java profiler
experience to share? I speeded Lark up substantially with 0.91, just by
code-walking and guessing. This is not the right way to do it. -T.