commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Biestro (JIRA)" <>
Subject [jira] Created: (JEXL-54) Light performance enhancements
Date Thu, 07 May 2009 11:29:30 GMT
Light performance enhancements

                 Key: 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.

View raw message