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.

Reply via email to