Michael Kay - 2006-10-06

Logged In: YES

I doubt very much whether the effect of this change would be
noticeable. I ran a little microbenchmark testing 3 million
strings and the elapsed time improved from 1232ms to 1182ms.
The expression parser doesn't get to test 3 million QName
prefixes very often. There are much greater inefficiencies
elsewhere in the compilation phase, since most of my
performance efforts have been geared towards run-time
performance rather than compile-time. If we're going to
embark on an exercise to improve compile time performance,
then it needs to be methodical - based on actual
measurements of end-to-end costs and analysis of hotspots -
and it should aim to give a doubling of performance, not 1%
here and 1% there. The change you suggest might be easy, but
it's not a priority.