Groovy 1.8 release notes
In general the goal of these improvements is to bypass the MOP where allowed and possible without altering the original MOP too much.
Groovy 1.8.0 will contain several integer based optimizations for basic operations like plus, minus, multiply, increment, decrement and compares. This version will not support the mixed usage of different types and then fall back to the old way of performing the operation.
This version also contains an optimization for direct method calls. Such a method call is done directly if it is done on "this" and if the argument types are a direct match with the parameter types of the method we may call. Since this is an operation that does not behave too well with a method call logic based on runtime types we select only methods where the primtive types match, the parameter types are final or for methods that take no arguments. Currently methods with variable arguments are not matched in general, unless a fitting array is used for the method call.