I wonder if this saves anything (i.e. having it in the class instead of the instance). Each parse will have to clear the parser's state anyway, which probably just as expensive as creating a new parser. Everywhere else the parser is created new for each parse. Interesting to measure if there is a difference.