Light performance enhancements
------------------------------
Key: JEXL-54
URL: https://issues.apache.org/jira/browse/JEXL-54
Project: Commons JEXL
Issue Type: Improvement
Affects Versions: 1.1
Reporter: Henri Biestro
Fix For: 2.0
The ClassMap.MethodCache uses String as key to methods; these keys are forged
by concatenating the name of the method & the argument classes names (converted
to their object equivalent for primitive types). Replacing the key scheme &
using a dedicated class to implement the keys yields some performance
improvement. (aka 3x faster to get from a map).
The MethodMap uses an HashTable; by synchronizing MethodMap.{add,get} and
synchronizing ClassMap.{get,put} on its MethodMap instance, it is possible to
use a basic HashMap instead.
There are various places where a StringBuffer is used when a StringBuilder will
suffice.
As a side note, there are a few places where the code readability can be
improved by using strongly typed collections.
As a small "missing" feature, exposing access to the Introspector from the
Uberspector (Introspector getIntrospector()) allows to re-use JEXL for some
lower level introspection needs.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.