[ https://issues.apache.org/jira/browse/OGNL-20?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13125661#comment-13125661 ]
Maurizio Cucchiara commented on OGNL-20: ---------------------------------------- Hi Daniel, I know that, infact I am not going to include the benchmark stuff neither the different cache implementations* Anyway, your patch is very good. Did you take a look at the new [branch|http://svn.apache.org/viewvc/commons/proper/ognl/branches/new-cache-approach/]? I would like to know your feedback. * at least at the moment, but I would like to give to users the opportunity to choice their preferred implementation (next step should be add custom configuration support, dependency injection support, and above all logging). > Performance - Replace synchronized blocks with ReentrantReadWriteLock > --------------------------------------------------------------------- > > Key: OGNL-20 > URL: https://issues.apache.org/jira/browse/OGNL-20 > Project: OGNL > Issue Type: Improvement > Environment: ALL > Reporter: Greg Lively > Attachments: Bench Results.txt, Caching_Mechanism_Benchmarks.patch > > > I've noticed a lot of synchronized blocks of code in OGNL. For the most part, > these synchronized blocks are controlling access to HashMaps, etc. I believe > this could be done far better using ReentrantReadWriteLocks. > ReentrantReadWriteLock allows unlimited concurrent access, and single threads > only for writes. Perfect in an environment where the ratio of reads is far > higher than writes; which is typically the scenario for caching. Plus the > access control can be tuned for reads and writes; not just a big > synchronized{} wrapping a bunch of code. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira