Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 1583 invoked from network); 10 Nov 2009 19:38:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 10 Nov 2009 19:38:57 -0000 Received: (qmail 26007 invoked by uid 500); 10 Nov 2009 19:38:57 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 25926 invoked by uid 500); 10 Nov 2009 19:38:56 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 25915 invoked by uid 99); 10 Nov 2009 19:38:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Nov 2009 19:38:56 +0000 X-ASF-Spam-Status: No, hits=-1.8 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jessewilson@google.com designates 216.239.33.17 as permitted sender) Received: from [216.239.33.17] (HELO smtp-out.google.com) (216.239.33.17) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Nov 2009 19:38:47 +0000 Received: from zps37.corp.google.com (zps37.corp.google.com [172.25.146.37]) by smtp-out.google.com with ESMTP id nAAJcQ2l025987 for ; Tue, 10 Nov 2009 19:38:27 GMT DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1257881907; bh=mp8pKGkX2byOeYj56sluc9RnwZA=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Content-Type; b=ZhWsjyAB55yQ83rCzt2WMu96S9+Mx7dJLpDZYKR14z+rtsLBc8SeBl5fyObOhkslG Y+dS5WvirUPfSoD9wOCtQ== DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:content-type:x-system-of-record; b=nTNbUKDRL0zsJkUniD9jrLBcSws0w5bQ/67zlfldI9o0mB9ZlZA+Fn7fAjbwc+ING pRV4KQLwYjQOpstPsyF6g== Received: from iwn12 (iwn12.prod.google.com [10.241.68.76]) by zps37.corp.google.com with ESMTP id nAAJcHSi024476 for ; Tue, 10 Nov 2009 11:38:22 -0800 Received: by iwn12 with SMTP id 12so310986iwn.15 for ; Tue, 10 Nov 2009 11:38:21 -0800 (PST) MIME-Version: 1.0 Received: by 10.231.6.153 with SMTP id 25mr718590ibz.54.1257881901092; Tue, 10 Nov 2009 11:38:21 -0800 (PST) In-Reply-To: <200911100947.nAA9lnWh016473@d12av03.megacenter.de.ibm.com> References: <354827273.1256589182512.JavaMail.jira@brutus> <4AE701B6.3010405@gmail.com> <200911100947.nAA9lnWh016473@d12av03.megacenter.de.ibm.com> From: Jesse Wilson Date: Tue, 10 Nov 2009 11:38:01 -0800 Message-ID: Subject: Re: [classlib][modularity] Logging performance improvements (HARMONY-6362) To: dev@harmony.apache.org Content-Type: multipart/alternative; boundary=0015176f03e0e24f5804780973d8 X-System-Of-Record: true X-Virus-Checked: Checked by ClamAV on apache.org --0015176f03e0e24f5804780973d8 Content-Type: text/plain; charset=UTF-8 On Tue, Nov 10, 2009 at 1:47 AM, Mark Hindess wrote: > Since they aren't active on the list I'm not sure how much we should let > this influence our decision. It does suggest that we should be cautious > about making assumptions about what downstream users might like to do. > I am reluctant to limit subsetting choices for (potential) downstream > users without good reason. > Well I guess the burden is on myself to provide a good reason! The java.util.concurrent package is excellent; it is Java's best API. By permitting its use by other modules, we will see increased correctness and performance... Consider java.net.NegativeCache. This class uses a global lock to interact with a LinkedHashMap concurrently. Upgrading to a more modern datastructure like a ConcurrentHashMap can improve application throughput. Similarly for the half dozen other caches in our code. Or perhaps InetAddress.isReachableByMultiThread(), which currently ignores InterruptedExceptions while its background thread is working. And there's SystemProcess, whose create() method contains 4 synchronized blocks. Perhaps this could benefit from java.util.concurrent? As it's written currently, an OutOfMemoryError while allocating one of the three buffers will cause the create() call to hang indefinitely. Writing code in 2009 without java.util.concurrent is like writing code with your hand tied behind your back. --0015176f03e0e24f5804780973d8--