Community
Participate
Working Groups
Build 3.1M5a Though most identifiers are made of obvious letters and digits, our scanner is dispatches 2 messages to figure a character is an obvious identifier part: - #getNextCharAsJavaIdentifierPart() - #isJavaIdentifierPart() These could be avoided by treating specially obvious characters.
Added support for treating obvious characters specially, using an array of 128 characters mapping to char natures (LETTER, DIGIT, SPACE, SEPARATOR). With this support, there is no more need to go through slow path when compiling some decent set of sources (JCL 1.4). Early measurements show a 47% performance improvement in pure tokenizing (not considering retrieving identifier sources) when repeating 800 times tokenizing Parser.java (>300k of sources). Before on my machine, we did tokenize 3.5M tokens/sec, now it is over 5M tokens/sec. This seems to improve full build scenario by 1-2%. Need to get some specific performance tests for it.
Verified in I20050330-0500