Affects Version/s: 3.0
Fix Version/s: 3.1
Compared to JEXL 2.1.1, arithmetic operations are slower in 3.0.
The culprit is the logic around operators overloading; when the JexlArithmetic does not overload any operator, discovering whether it overloads one is repeated each time an interpreter is created (which is a costly introspection operation).
As a workaround, one ca use an arithmetic that does overload an operator (for instance size) as in:
And use an instance of that class at engine creation time as in: