Return-Path: X-Original-To: apmail-commons-issues-archive@minotaur.apache.org Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A35A17956 for ; Tue, 6 Sep 2011 08:05:03 +0000 (UTC) Received: (qmail 60363 invoked by uid 500); 6 Sep 2011 08:04:58 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 58735 invoked by uid 500); 6 Sep 2011 08:04:42 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 58672 invoked by uid 99); 6 Sep 2011 08:04:33 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Sep 2011 08:04:33 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Sep 2011 08:04:30 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id DD2AA82921 for ; Tue, 6 Sep 2011 08:04:09 +0000 (UTC) Date: Tue, 6 Sep 2011 08:04:09 +0000 (UTC) From: "Olivier Lamy (JIRA)" To: issues@commons.apache.org Message-ID: <992128741.19344.1315296249902.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <872907710.17472.1315239251255.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (OGNL-20) Performance - Replace synchronized blocks with ReentrantReadWriteLock MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OGNL-20?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13097791#comment-13097791 ] Olivier Lamy commented on OGNL-20: ---------------------------------- good idea ! I will try a patch or a branch with that. > 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 > > 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. For more information on JIRA, see: http://www.atlassian.com/software/jira