I personally feel performance wise that ParserLib is fine right now. Sure there may be a few minor areas of improvement, but overall its working perfectly fine for what all it has to be able to do.
For the short term I'd much rather we just get a TBC working version of it over worrying about trying to improve its performance.
TBC version is pretty easy to do.
Detect if lua51. (see OneCore.lua from OneBag for detection mechanism).
do a: local string_gfind = lua51 and string.gmatch or string.gfind
and replace all string.gfind calls by string_gfind.
Also fix all the for x,y in blah do with pairs()
I did it in a local copy. But have to test in both retail and beta before I commit.