commons-issues mailing list archives

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

     [ https://issues.apache.org/jira/browse/JEXL-54?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Henri Biestro updated JEXL-54:
------------------------------

    Attachment: JEXL-54.patch

> 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
>
>         Attachments: JEXL-54.patch
>
>
> 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.


Mime
View raw message