Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 2768 invoked from network); 20 Apr 2009 06:25:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Apr 2009 06:25:29 -0000 Received: (qmail 1618 invoked by uid 500); 20 Apr 2009 06:25:28 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 1544 invoked by uid 500); 20 Apr 2009 06:25:28 -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 1533 invoked by uid 99); 20 Apr 2009 06:25:28 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Apr 2009 06:25:28 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of xu.regis@gmail.com designates 209.85.198.250 as permitted sender) Received: from [209.85.198.250] (HELO rv-out-0708.google.com) (209.85.198.250) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Apr 2009 06:25:19 +0000 Received: by rv-out-0708.google.com with SMTP id b17so1454358rvf.0 for ; Sun, 19 Apr 2009 23:24:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=+PBPIqDbFcbXyT0Tpr9ive7286N7bGlFOTCae6yY47I=; b=Ohr579rjWnwZ36FsT5SYo37UP3/mAiL5wUpP39zmNlBG2Eu4Wrb4H7tdg3rMwdWt0U WWAzJGdiZypCuCCa1HgP9zjRYJcdItOmzsxpQRl1vtAPMOvRtHjbal8XwM1K+KpYpnZ/ fE5wb+mq3a2Dif727lFiUl+ZAFkdAh5DhUMYk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=CAGi8587yzXzUkM/QFN/1Rf1BwWhvbmxFHHW+vNw9UNu/Rt2UP9FztT0AITwbU1GQ7 QlIHjo4FMrYLT2lmPOD8fHenrD5ymJbzAXcxcQxz61i4Wt60vOF6iXJCS73qgTqfKmhO YV/Iq37grJ6Ko4JpvZYxLic9S0D0TlOnIu00A= Received: by 10.114.95.1 with SMTP id s1mr3122708wab.160.1240208699586; Sun, 19 Apr 2009 23:24:59 -0700 (PDT) Received: from ?9.123.237.61? ([220.248.0.145]) by mx.google.com with ESMTPS id v25sm7055250wah.51.2009.04.19.23.24.57 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 19 Apr 2009 23:24:59 -0700 (PDT) Message-ID: <49EC1539.6030504@gmail.com> Date: Mon, 20 Apr 2009 14:24:57 +0800 From: Regis User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: dev@harmony.apache.org Subject: Re: [jira] Commented: (HARMONY-6045) [classlib] [luni] Optimize java.lang.String.toUpperCase(), String.toLowerCase() and String sharing for more performance gains References: <1053490928.1229307584344.JavaMail.jira@brutus> <1130121025.1239873495107.JavaMail.jira@brutus> <70c713190904160232m6074b39t86124847e44d5046@mail.gmail.com> <49E6FF29.5060709@gmail.com> <49EC0DCC.2000800@gmail.com> <70c713190904192259o6fc17905iba2b5d8a1af5ca97@mail.gmail.com> In-Reply-To: <70c713190904192259o6fc17905iba2b5d8a1af5ca97@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Kevin Zhou wrote: > It looks good! :) Not so good, it cause test failures. seems most of them are failed in compareToIgnoreCase and toUpperCase. Would you please take a look at it? > > On Mon, Apr 20, 2009 at 1:53 PM, Regis wrote: > >> Regis wrote: >> >>> Kevin Zhou wrote: >>> >>>> Previously, it is proved by using benchmarks like Specjbb. >>>> Since it's been a long time I don't really remember the accurate >>>> statistics >>>> of how much improvements it brings. >>>> >>> All right, I will try to write some micro benchmarks :) >>> >> I have attached a very simple micro benchmark for converting case of ASCII >> character. The patch seems great: >> >> * before the patch HARMONY-6045v2.diff: >> String.toUpperCase >> count per cycle: 1000000 >> 2779 2727 2706 2768 2745 >> String.toLowerCase >> count per cycle: 1000000 >> 1929 1934 1940 1963 1911 >> >> * after the patch: >> String.toUpperCase >> count per cycle: 1000000 >> 1380 1350 1355 1359 1423 >> String.toLowerCase >> count per cycle: 1000000 >> 1182 1189 1189 1177 1171 >> >> * RI 1.5: >> String.toUpperCase >> count per cycle: 1000000 >> 3123 3181 3132 3117 3156 >> String.toLowerCase >> count per cycle: 1000000 >> 3375 3328 3394 3336 3390 >> >> for String.toUpperCase, average from 2745 to 1373.4, improve almost 100% >> for String.toLowerCase, average from 1935.4 to 1181.6, improve 64% >> >> But I noticed there are tests failed after patch: >> org.apache.harmony.luni.tests.java.lang.Character_UnicodeBlockTest >> org.apache.harmony.luni.tests.java.lang.String2Test >> >> org.apache.harmony.luni.tests.internal.net.www.protocol.file.FileURLConnectionTest >> org.apache.harmony.luni.tests.java.util.Arrays2Test >> org.apache.harmony.luni.tests.java.net.URITest >> org.apache.harmony.luni.tests.java.net.URLConnectionTest >> >> >> -- >> Best Regards, >> Regis. >> > -- Best Regards, Regis.