Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 45777 invoked from network); 21 Dec 2007 09:01:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Dec 2007 09:01:51 -0000 Received: (qmail 86645 invoked by uid 500); 21 Dec 2007 09:01:38 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 86620 invoked by uid 500); 21 Dec 2007 09:01:38 -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 86611 invoked by uid 99); 21 Dec 2007 09:01:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Dec 2007 01:01:38 -0800 X-ASF-Spam-Status: No, hits=1.5 required=10.0 tests=SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of wuyuehao@gmail.com designates 72.14.220.157 as permitted sender) Received: from [72.14.220.157] (HELO fg-out-1718.google.com) (72.14.220.157) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Dec 2007 09:01:18 +0000 Received: by fg-out-1718.google.com with SMTP id 16so130758fgg.36 for ; Fri, 21 Dec 2007 01:01:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=oLkUNOuH5/kSI7usxWkgm0KcE+R20B47l0LOqXEdzH8=; b=treumtDJm/lkRkuguj4vtZvtzIDaBFRBEo26SjicpTHXO+PpBYJR+yWUZrzl5iP9SXxO5HGCcTbhJKb1fvdOCZ21O19HjkG+w5V7vR7og+oJoceqbqkWy23WfOrO6yCtbWq+w6SEEl0cOsJaUmYdl+cFS5uU8Rb7JUgdEpqK6J8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Miy0YmljbI2vAt0jKRfDyd/pVz2GOliXv5KmXzPdfTQMMtLmbDzfBPD2+H5b5mkVysjvVUxeMko6KuO6OGdTy1VTRLACreakvahkc2ReWYlil0ZHOnWWQ5bGkAWJULiHcXekQ6EIOcfigvHSjiABugg/qfiE6caW9VQv3/WW170= Received: by 10.82.160.19 with SMTP id i19mr1755108bue.19.1198227680838; Fri, 21 Dec 2007 01:01:20 -0800 (PST) Received: by 10.82.135.3 with HTTP; Fri, 21 Dec 2007 01:01:20 -0800 (PST) Message-ID: <211709bc0712210101j34e99312k6016d8f8e49cf405@mail.gmail.com> Date: Fri, 21 Dec 2007 17:01:20 +0800 From: "Tony Wu" To: dev@harmony.apache.org Subject: Re: [classlib]remove the duplicate locale data In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <211709bc0711050033o55158d22mad9dce73f8ad4490@mail.gmail.com> <47305354.6090603@gmail.com> <211709bc0711060623k7a7ed510u4a650adfd9ce914f@mail.gmail.com> <211709bc0711060636w532d2a43nea95f9ea77be345b@mail.gmail.com> <211709bc0711090130i2422653ewd829252dd56445b1@mail.gmail.com> <211709bc0711111843i5e59238eo5a31eae2f84bf043@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Hi all, I'd like to recommit the patch if no one objects. My new patch on 5061 fixes 1. the performance issue addressed in 5129 2. the return type gap on 5085 3. the testcases in text module, now they can pass on both RI and Harmony Still this patch willl exclude following tests in luni +tests/api/java/util/CurrencyTest.java +tests/api/java/util/FormatterTest.java +tests/api/java/util/GregorianCalendarTest.java +tests/api/java/util/LocaleTest.java +tests/api/java/util/ScannerTest.java In total there are 1 error and 13 failures, all of which are caused by differences between RI and ICU. I'll record them as non-bug difference later. On 11/12/07, Vladimir Strigun wrote: > Thanks Mark, > > All dacapo benches passed after your commit. > > Thanks. > Vladimir. > > On 11/12/07, Tony Wu wrote: > > I noticed Mark has committed your patch, Thank you and Mark :) > > > > On 11/10/07, Vladimir Strigun wrote: > > > On 11/9/07, Tony Wu wrote: > > > > Hi Vladimir > > > > really busy this weekend. I've recorded it as JIRA 5100, high > > > > appreciate if you could provide a simple testcase. > > > > > > Hi Tony, > > > > > > It seems we've faced with first isues in new ICU version. ICU returns > > > null instead of correct string for time zone. Could you please check > > > the patch attached to JIRA and apply it to fix the regression? > > > > > > Thanks. > > > Vladimir. > > > > > > > On 11/7/07, Vladimir Strigun wrote: > > > > > Hi Tony, > > > > > > > > > > It seems your commit r592434 introduce regression for Dacapo.jython > > > > > (the bench passed on r592433). Here is the execution log: > > > > > ===== DaCapo jython starting ===== > > > > > ------------------------------------------------------------------------------- > > > > > PYBENCH 2.0 > > > > > ------------------------------------------------------------------------------- > > > > > * using Python 2.2a1 > > > > > * Python version doesn't support garbage collection > > > > > * system check interval set to maximum: 2147483647 > > > > > * using timer: time.time > > > > > > > > > > Traceback (innermost last): > > > > > File ".\scratch\jython\pybench\pybench.py", line 946, in ? > > > > > File "Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py", line > > > > > 346, in __init__ > > > > > File ".\scratch\jython\pybench\pybench.py", line 903, in main > > > > > File ".\scratch\jython\pybench\pybench.py", line 425, in __init__ > > > > > java.lang.IllegalArgumentException: Cannot create PyString from null! > > > > > at org.python.core.PyString.(Unknown Source) > > > > > at org.python.modules.time.classDictInit(Unknown Source) > > > > > at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java) > > > > > at java.lang.reflect.Method.invoke(Method.java:317) > > > > > at org.python.core.PyJavaClass.initialize(Unknown Source) > > > > > at org.python.core.PyJavaClass.lookupGivingClass(Unknown Source) > > > > > at org.python.core.PyClass.lookup(Unknown Source) > > > > > at org.python.core.PyJavaClass.__findattr__(Unknown Source) > > > > > at org.python.core.PyObject.__getattr__(Unknown Source) > > > > > at org.python.pycode._pyx1.__init__$14(.\scratch\jython\pybench\pybench.py:425) > > > > > at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyFunction.__call__(Unknown Source) > > > > > at org.python.core.PyInstance.__init__(Unknown Source) > > > > > at org.python.core.PyClass.__call__(Unknown Source) > > > > > at org.python.pycode._pyx1.main$25(.\scratch\jython\pybench\pybench.py:903) > > > > > at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyFunction.__call__(Unknown Source) > > > > > at org.python.core.PyMethod.__call__(Unknown Source) > > > > > at org.python.core.PyObject.__call__(Unknown Source) > > > > > at CommandLine$py.__init__$15(Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py:346) > > > > > at CommandLine$py.call_function(Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyFunction.__call__(Unknown Source) > > > > > at org.python.core.PyInstance.__init__(Unknown Source) > > > > > at org.python.core.PyClass.__call__(Unknown Source) > > > > > at org.python.core.PyObject.__call__(Unknown Source) > > > > > at org.python.pycode._pyx1.f$0(.\scratch\jython\pybench\pybench.py:946) > > > > > at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py) > > > > > at org.python.core.PyTableCode.call(Unknown Source) > > > > > at org.python.core.PyCode.call(Unknown Source) > > > > > at org.python.core.Py.runCode(Unknown Source) > > > > > at org.python.core.__builtin__.execfile_flags(Unknown Source) > > > > > at org.python.util.PythonInterpreter.execfile(Unknown Source) > > > > > at org.python.util.jython.main(Unknown Source) > > > > > at dacapo.jython.JythonHarness.iterate(JythonHarness.java:38) > > > > > at dacapo.Benchmark.run(Benchmark.java:126) > > > > > at dacapo.TestHarness.runBenchmark(TestHarness.java:302) > > > > > at dacapo.TestHarness.main(TestHarness.java:242) > > > > > at Harness.main(Harness.java:5) > > > > > at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java) > > > > > at java.lang.reflect.Method.invoke(Method.java:317) > > > > > at org.apache.harmony.vm.JarRunner.main(JarRunner.java:80) > > > > > > > > > > > > > > > java.lang.IllegalArgumentException: > > > > > java.lang.IllegalArgumentException: Cannot create PyString from null! > > > > > > > > > > > > > > > Thanks. > > > > > Vladimir. > > > > > > > > > > On 11/6/07, Tony Wu wrote: > > > > > > I've committed the patch at r592434. > > > > > > the excluded classes are, > > > > > > > > > > > > tests.api.java.util.CurrencyTest > > > > > > tests.api.java.util.FormatterTest > > > > > > tests.api.java.util.GregorianCalendarTest > > > > > > tests.api.java.util.LocaleTest > > > > > > tests.api.java.util.ScannerTest > > > > > > > > > > > > org.apache.harmony.text.tests.java.text.DecimalFormatSymbolsTest > > > > > > org.apache.harmony.text.tests.java.text.NumberFormatTest > > > > > > org.apache.harmony.text.tests.java.text.SimpleDateFormatTest > > > > > > > > > > > > pls kindly let me know if you find any problem, thanks. > > > > > > > > > > > > On 11/6/07, Tony Wu wrote: > > > > > > > On 11/6/07, Tim Ellison wrote: > > > > > > > > Tony Wu wrote: > > > > > > > > > I've raised a JIRA[1] for migrating the dependencies of locale related > > > > > > > > > data to icu4j and remove the data in > > > > > > > > > luni/src/main/java/org/apache/harmony/luni/internal/locale/. Currently > > > > > > > > > I have delegated all the locale related classes to corresponding > > > > > > > > > classes in icu4j and successfully removed the dependencies of harmony > > > > > > > > > resource bundles. > > > > > > > > > > > > > > > > Cool -- this is good because it removes the code duplication we have at > > > > > > > > present, it shifts the maintenance of the locale data into the right > > > > > > > > place (IMHO) that being the ICU project, and gives us the opportunity to > > > > > > > > use the ICU tools to customize/refresh/etc the data for Harmony each > > > > > > > > time the USA decide to introduce another daylight savings change ;-) > > > > > > > > > > > > > > exactly. > > > > > > > > > > > > > > > > > As expected, there are around 20 failures of harmony test. Many of > > > > > > > > > them are caused by data difference. I've listed all of them on harmony > > > > > > > > > wiki[2] and will raise them to icu soon. > > > > > > > > > > > > > > > > Ack. I believe that (pretty much) everyone gets the data from the CLDR, > > > > > > > > so I would expect any differences to be tests that have out of date > > > > > > > > assumptions about the data. > > > > > > > > > > > > > > Yes, I'll check it based on CLDR. > > > > > > > > > > > > > > > > > By applying this patch, we can get 4.2 mega bytes decrease in harmony > > > > > > > > > source code, including the svn data. > > > > > > > > > > > > > > > > ooh, say that again! Removing 4.2Mb of redundant source code is excellent. > > > > > > > > > > > > > > > > > My proposal is to apply the patch on 5061 first and exclude these > > > > > > > > > tests which fail on different locale data. Then I'll take follow up > > > > > > > > > action to contact icu team and get solution to move them out. > > > > > > > > > Otherwise I'm afraid my fix will be outdated for waiting until icu > > > > > > > > > team get ready to fix the data. Do you have any objection? > > > > > > > > > > > > > > > > > > Later, I'll take care of the performance issue of this delegation. > > > > > > > > > > > > > > > > > > Thanks in advance for your comments > > > > > > > > > > > > > > > > Sounds like a good plan. > > > > > > > > > > > > > > > > Regards, > > > > > > > > Tim > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Tony Wu > > > > > > > China Software Development Lab, IBM > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Tony Wu > > > > > > China Software Development Lab, IBM > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Tony Wu > > > > China Software Development Lab, IBM > > > > > > > > > > > > > -- > > Tony Wu > > China Software Development Lab, IBM > > > -- Tony Wu China Software Development Lab, IBM