Release 1.8.2
Make caching of parsed expressions possible in parser/dicelib. Caching is implemented in MaptoolExpressionParser.
The parser library interface changes externally from:
new Parser(resolver, true).parseExpression("Hello").evaluate()
to
new Parser(true).parseExpression("Hello").evaluate(resolver)
Gives a 2-6 factor improvement for re-running macros (or expressions in a loop). The longer the expression parsed, the more advantageous it is. See RPTools/maptool#1898 (comment)
See also:
https://github.com/RPTools/parser#45
https://github.com/RPTools/dicelib#57
RPTools/maptool#2086