Seems that ICU4JNI has advantage on large data blocks while harmony charset provider takes the upper hand on small inputs. It is so obvious.:)
How to choose? It is a problem. ICU4JNI has to pay for JNI calls but it has the advantage of native language, but I think the advantage is temporary. The cost of JNI is born-in and not avoidable while there is still space for harmony charset provider to improve its performance. Furthermore, the advantage of native language is also controversial, especially comparing with a well-tuned and fully-trained VM and a classlib with high quality.(This is what we all are now fighting for.) On 4/19/07, Tony Wu <[EMAIL PROTECTED]> wrote:
sorry I sent previous mail by mistake :( The result is, small input data: "\u662f\u975e\u6210\u8d25\u8f6c\u5934\u7a7a" for GB18030 "abcdEfG" for UTF-8 and 8859-1 encode 1,000,000 times ================= com.ibm.icu4jni.charset.CharsetProiverICU UTF-8 8047.0 GB18030 5203.0 8859-1 3468.0 org.apache.harmony.niochar.CharsetProviderimplStd UTF-8 1610.0 GB18030 4328.0 8859-1 1282.0 decoding 1,000,000 times ================== com.ibm.icu4jni.charset.CharsetProiverICU UTF-8 5453.0 GB18030 4703.0 8859-1 3407.0 org.apache.harmony.niochar.CharsetProviderimplStd UTF-8 1860.0 GB18030 2671.0 8859-1 2234.0 On 4/19/07, Tony Wu <[EMAIL PROTECTED]> wrote: > Hi Vladimir, > > I did some tests on my thinkpad with following env. The reslut is > milliseconds, the less the better. > > win xp sp2 > 2G RAM > Intel Pentium 1.86GHZ > > small input data: > "\u662f\u975e\u6210\u8d25\u8f6c\u5934\u7a7a" for GB18030 > "abcdEfG" for UTF-8 and 8859-1 > encode 1,000,000 times > > icu > intel > > > > > large input data: > 251k for GB18030 > 133k for UTF-8 and 8859-1 > > > > com.ibm.icu4jni.charset.CharsetProiverICU > > > > org.apache.harmony.niochar.CharsetProviderimplStd > > > On 4/14/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > Vladimir, > > I'm writing some testcases for the performance of encoding and > > decoding, I'll show you next week. > > > > On 4/12/07, Vladimir Strigun <[EMAIL PROTECTED]> wrote: > > > Tony, > > > > > > The reason of failure on you machine was absence of default charset > > > for you locale in CharsetProviderImplStd. Updated version of binary > > > file include explicit check of charset availability in additional > > > provider: CharsetProviderImplExt. I'm also able to reproduce you > > > failure after locale change on my machine. > > > > > > I will merge all new charsets to one provider and update contribution > > > package soon. > > > > > > By the way, have you run any performance measurements with new charset > > > impl on J9 machine? My measurements on Woodcrest IA32 shows speedup > > > for antlr and xalan Dacapo benchmarks. > > > > > > ICU impl: > > > antlr: 2684 msec > > > xalan: 2372 msec > > > > > > new charsets: > > > antlr: 1854 msec > > > xalan: 1846 msec > > > > > > Thanks. > > > Vladimir. > > > > > > On 4/12/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > And I 'm interested in the difference between the 2 binary versions. > > > > Actually I encounter similar problem in my working. > > > > > > > > On 4/12/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > The new binary version works, Thanks Vladimir. > > > > > > > > > > On 4/10/07, Vladimir Strigun <[EMAIL PROTECTED]> wrote: > > > > > > Tony, > > > > > > > > > > > > I've attached new binary version of nio_char.jar to JIRA issue. Could > > > > > > you please try it? > > > > > > > > > > > > Thanks. > > > > > > Vladimir. > > > > > > > > > > > > On 4/10/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > Hi Vladimir, > > > > > > > I did exactly as you said. I think probably because we uses different vm? > > > > > > > > > > > > > > On 4/10/07, Vladimir Strigun <[EMAIL PROTECTED]> wrote: > > > > > > > > Tony, > > > > > > > > > > > > > > > > Am I correctly understood that you used binary version? > > > > > > > > I used the next steps: > > > > > > > > 1. download harmony classlib/trunk (rev 527065) > > > > > > > > 2. ant fetch-depends > > > > > > > > 3. ant > > > > > > > > 4. Copy nio_char.jar attached to JIRA to jre/lib/boot > > > > > > > > 5. copy hycharset.dll attached to JIRA to jre/bin > > > > > > > > 6. java Hello > > > > > > > > Hello > > > > > > > > > > > > > > > > Could you please describe the steps you used to get the error? > > > > > > > > > > > > > > > > Thanks. > > > > > > > > Vladimir. > > > > > > > > > > > > > > > > On 4/10/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > I just put the dll to jre/bin and replace the jar at /lib/boot. > > > > > > > > > unfortunately I got following error :( > > > > > > > > > > > > > > > > > > did I miss something? > > > > > > > > > > > > > > > > > > Exception in thread "main" java/lang/ExceptionInInitializerError > > > > > > > > > at java/lang/J9VMInternals.initialize ( J9VMInternals.java:195) > > > > > > > > > at java/lang/System.<clinit> (System.java:110) > > > > > > > > > at java/lang/J9VMInternals.initializeImpl (Native Method) > > > > > > > > > at java/lang/J9VMInternals.initialize ( J9VMInternals.java:177) > > > > > > > > > at java/lang/ClassLoader.initializeClassLoaders ( ClassLoader.java:68) > > > > > > > > > at java/lang/Thread.initialize (Thread.java:339) > > > > > > > > > at java/lang/Thread.<init> (Thread.java:126) > > > > > > > > > java/lang/NullPointerException > > > > > > > > > at java/nio/charset/Charset.forNameInternal ( Charset.java:507) > > > > > > > > > at java/nio/charset/Charset.isSupported ( Charset.java:578) > > > > > > > > > at java/lang/String$ConsolePrintStream.<clinit> ( String.java:68) > > > > > > > > > at java/lang/J9VMInternals.initializeImpl (Native Method) > > > > > > > > > at java/lang/J9VMInternals.initialize ( J9VMInternals.java:177) > > > > > > > > > at java/lang/System.<clinit> (System.java:110) > > > > > > > > > at java/lang/J9VMInternals.initializeImpl (Native Method) > > > > > > > > > at java/lang/J9VMInternals.initialize ( J9VMInternals.java:177) > > > > > > > > > at java/lang/ClassLoader.initializeClassLoaders ( ClassLoader.java:68) > > > > > > > > > at java/lang/Thread.initialize (Thread.java:339) > > > > > > > > > at java/lang/Thread.<init> (Thread.java:126) > > > > > > > > > JVMJ9VM015W Initialization error for library jclclear_23(14): > > > > > > > > > JVMJ9VM009E J9VMDllMain failed > > > > > > > > > HMYEXEL062E Internal VM error: Failed to create Java VM > > > > > > > > > FAILED to invoke JVM. > > > > > > > > > > > > > > > > > > On 4/10/07, Vladimir Strigun <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Hi Tony, > > > > > > > > > > > > > > > > > > > > header files could be generated by javac tool :) > > > > > > > > > > let me know if you will have additional problems. > > > > > > > > > > > > > > > > > > > > Thanks. > > > > > > > > > > Vladimir. > > > > > > > > > > > > > > > > > > > > On 4/10/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > Hi Vladimir, > > > > > > > > > > > > > > > > > > > > > > I found #include "CP_1250.h" in CP_1250.c but no .h files found in > > > > > > > > > > > your patch, still I can not build from src. > > > > > > > > > > > > > > > > > > > > > > trying the binary.. > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Vladimir Strigun <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > On 4/9/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > And I have not found a makefile for native? > > > > > > > > > > > > > > > > > > > > > > > > Tony, > > > > > > > > > > > > > > > > > > > > > > > > I've attached makefiles to the JIRA issue. > > > > > > > > > > > > > > > > > > > > > > > > Thanks. > > > > > > > > > > > > Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > Hi Vladimir, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks for explanation, I'm testing it on win xp. > > > > > > > > > > > > > > > > > > > > > > > > > > > > I encounter a minor problem when try to build native code. > > > > > > > > > > > > > > ....\trunk\modules\nio_char\src\main\native/niochar/windows was asked > > > > > > > > > > > > > > instead of .../src/native/niochar/shared according to readme. > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Vladimir Strigun < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > On 4/9/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > I wonder if it is possible to make it as built-in charset provider and > > > > > > > > > > > > > > > > make icu as an extension? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Attached test bundle, instruction and patch for current code combined > > > > > > > > > > > > > > > new implementation with ICU. So, I have the same 228 charsets > > > > > > > > > > > > > > > available - about 90 charsets used from the new bundle, and not > > > > > > > > > > > > > > > implemented charsets used from ICU. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The full list of charsets supported with the current bundle + ICU: > > > > > > > > > > > > > > > Adobe-Standard-Encoding class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > Big5 class= org.apache.harmony.niochar.charset.additional.Big5 > > > > > > > > > > > > > > > Big5-HKSCS class= org.apache.harmony.niochar.charset.additional.Big5_HKSCS > > > > > > > > > > > > > > > BOCU-1 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > CESU-8 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > cp850 class= org.apache.harmony.niochar.charset.additional.IBM850 > > > > > > > > > > > > > > > cp851 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > cp856 class= org.apache.harmony.niochar.charset.additional.x_IBM856 > > > > > > > > > > > > > > > cp857 class= org.apache.harmony.niochar.charset.additional.IBM857 > > > > > > > > > > > > > > > cp858 class= org.apache.harmony.niochar.charset.additional.IBM00858 > > > > > > > > > > > > > > > cp860 class= org.apache.harmony.niochar.charset.additional.IBM860 > > > > > > > > > > > > > > > cp861 class= org.apache.harmony.niochar.charset.additional.IBM861 > > > > > > > > > > > > > > > cp862 class= org.apache.harmony.niochar.charset.additional.IBM862 > > > > > > > > > > > > > > > cp863 class= org.apache.harmony.niochar.charset.additional.IBM863 > > > > > > > > > > > > > > > cp864 class= org.apache.harmony.niochar.charset.additional.IBM864 > > > > > > > > > > > > > > > cp865 class= org.apache.harmony.niochar.charset.additional.IBM865 > > > > > > > > > > > > > > > cp866 class= org.apache.harmony.niochar.charset.IBM866 > > > > > > > > > > > > > > > cp868 class= org.apache.harmony.niochar.charset.additional.IBM868 > > > > > > > > > > > > > > > cp869 class= org.apache.harmony.niochar.charset.additional.IBM869 > > > > > > > > > > > > > > > cp922 class= org.apache.harmony.niochar.charset.additional.x_IBM922 > > > > > > > > > > > > > > > EUC-JP class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > EUC-KR class= org.apache.harmony.niochar.charset.additional.EUC_KR > > > > > > > > > > > > > > > GB18030 class= org.apache.harmony.niochar.charset.additional.GB18030 > > > > > > > > > > > > > > > GB2312 class= org.apache.harmony.niochar.charset.additional.GB2312 > > > > > > > > > > > > > > > GB_2312-80 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > GBK class= org.apache.harmony.niochar.charset.additional.GBK > > > > > > > > > > > > > > > hp-roman8 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > HZ-GB-2312 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > IBM-Thai class= org.apache.harmony.niochar.charset.additional.IBM_Thai > > > > > > > > > > > > > > > IBM01140 class= org.apache.harmony.niochar.charset.additional.IBM01140 > > > > > > > > > > > > > > > IBM01141 class= org.apache.harmony.niochar.charset.additional.IBM01141 > > > > > > > > > > > > > > > IBM01142 class= org.apache.harmony.niochar.charset.additional.IBM01142 > > > > > > > > > > > > > > > IBM01143 class= org.apache.harmony.niochar.charset.additional.IBM01143 > > > > > > > > > > > > > > > IBM01144 class= org.apache.harmony.niochar.charset.additional.IBM01144 > > > > > > > > > > > > > > > IBM01145 class= org.apache.harmony.niochar.charset.additional.IBM01145 > > > > > > > > > > > > > > > IBM01146 class= org.apache.harmony.niochar.charset.additional.IBM01146 > > > > > > > > > > > > > > > IBM01147 class= org.apache.harmony.niochar.charset.additional.IBM01147 > > > > > > > > > > > > > > > IBM01148 class= org.apache.harmony.niochar.charset.additional.IBM01148 > > > > > > > > > > > > > > > IBM01149 class= org.apache.harmony.niochar.charset.additional.IBM01149 > > > > > > > > > > > > > > > IBM037 class= org.apache.harmony.niochar.charset.additional.IBM037 > > > > > > > > > > > > > > > IBM1026 class= org.apache.harmony.niochar.charset.additional.IBM1026 > > > > > > > > > > > > > > > IBM1047 class= org.apache.harmony.niochar.charset.additional.IBM1047 > > > > > > > > > > > > > > > IBM273 class= org.apache.harmony.niochar.charset.additional.IBM273 > > > > > > > > > > > > > > > IBM277 class= org.apache.harmony.niochar.charset.additional.IBM277 > > > > > > > > > > > > > > > IBM278 class= org.apache.harmony.niochar.charset.additional.IBM278 > > > > > > > > > > > > > > > IBM280 class= org.apache.harmony.niochar.charset.additional.IBM280 > > > > > > > > > > > > > > > IBM284 class= org.apache.harmony.niochar.charset.additional.IBM284 > > > > > > > > > > > > > > > IBM285 class= org.apache.harmony.niochar.charset.additional.IBM285 > > > > > > > > > > > > > > > IBM290 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > IBM297 class= org.apache.harmony.niochar.charset.additional.IBM297 > > > > > > > > > > > > > > > IBM367 class= org.apache.harmony.niochar.charset.US_ASCII > > > > > > > > > > > > > > > IBM420 class= org.apache.harmony.niochar.charset.additional.IBM420 > > > > > > > > > > > > > > > IBM424 class= org.apache.harmony.niochar.charset.additional.IBM424 > > > > > > > > > > > > > > > IBM437 class= org.apache.harmony.niochar.charset.additional.IBM437 > > > > > > > > > > > > > > > IBM500 class= org.apache.harmony.niochar.charset.additional.IBM500 > > > > > > > > > > > > > > > IBM775 class= org.apache.harmony.niochar.charset.additional.IBM775 > > > > > > > > > > > > > > > IBM852 class= org.apache.harmony.niochar.charset.additional.IBM852 > > > > > > > > > > > > > > > IBM855 class= org.apache.harmony.niochar.charset.additional.IBM855 > > > > > > > > > > > > > > > IBM870 class= org.apache.harmony.niochar.charset.additional.IBM870 > > > > > > > > > > > > > > > IBM871 class= org.apache.harmony.niochar.charset.additional.IBM871 > > > > > > > > > > > > > > > IBM918 class= org.apache.harmony.niochar.charset.additional.IBM918 > > > > > > > > > > > > > > > ISO-2022-CN class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > ISO-2022-CN-EXT class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > ISO-2022-JP class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > ISO-2022-JP-2 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > ISO-2022-KR class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > ISO-8859-1 class= org.apache.harmony.niochar.charset.ISO_8859_1 > > > > > > > > > > > > > > > ISO-8859-13 class= org.apache.harmony.niochar.charset.ISO_8859_13 > > > > > > > > > > > > > > > ISO-8859-15 class= org.apache.harmony.niochar.charset.ISO_8859_15 > > > > > > > > > > > > > > > ISO-8859-2 class= org.apache.harmony.niochar.charset.ISO_8859_2 > > > > > > > > > > > > > > > ISO-8859-3 class= org.apache.harmony.niochar.charset.additional.ISO_8859_3 > > > > > > > > > > > > > > > ISO-8859-4 class= org.apache.harmony.niochar.charset.ISO_8859_4 > > > > > > > > > > > > > > > ISO-8859-5 class= org.apache.harmony.niochar.charset.ISO_8859_5 > > > > > > > > > > > > > > > ISO-8859-6 class= org.apache.harmony.niochar.charset.additional.ISO_8859_6 > > > > > > > > > > > > > > > ISO-8859-7 class= org.apache.harmony.niochar.charset.ISO_8859_7 > > > > > > > > > > > > > > > ISO-8859-8 class= org.apache.harmony.niochar.charset.additional.ISO_8859_8 > > > > > > > > > > > > > > > ISO-8859-9 class= org.apache.harmony.niochar.charset.ISO_8859_9 > > > > > > > > > > > > > > > JIS_Encoding class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > JIS_X0201 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > KOI8-R class= org.apache.harmony.niochar.charset.KOI8_R > > > > > > > > > > > > > > > KOI8-U class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > KSC_5601 class= org.apache.harmony.niochar.charset.additional.x_windows_949 > > > > > > > > > > > > > > > macintosh class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > SCSU class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > Shift_JIS class= org.apache.harmony.niochar.charset.additional.windows_31j > > > > > > > > > > > > > > > TIS-620 class= org.apache.harmony.niochar.charset.additional.x_IBM874 > > > > > > > > > > > > > > > US-ASCII class= org.apache.harmony.niochar.charset.US_ASCII > > > > > > > > > > > > > > > UTF-16 class= org.apache.harmony.niochar.charset.UTF_16 > > > > > > > > > > > > > > > UTF-16BE class= org.apache.harmony.niochar.charset.UTF_16BE > > > > > > > > > > > > > > > UTF-16LE class= org.apache.harmony.niochar.charset.UTF_16LE > > > > > > > > > > > > > > > UTF-32 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > UTF-32BE class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > UTF-32LE class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > UTF-7 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > UTF-8 class= org.apache.harmony.niochar.charset.UTF_8 > > > > > > > > > > > > > > > windows-1250 class= org.apache.harmony.niochar.charset.CP_1250 > > > > > > > > > > > > > > > windows-1251 class= org.apache.harmony.niochar.charset.CP_1251 > > > > > > > > > > > > > > > windows-1252 class= org.apache.harmony.niochar.charset.CP_1252 > > > > > > > > > > > > > > > windows-1253 class= org.apache.harmony.niochar.charset.CP_1253 > > > > > > > > > > > > > > > windows-1254 class= org.apache.harmony.niochar.charset.CP_1254 > > > > > > > > > > > > > > > windows-1255 class= org.apache.harmony.niochar.charset.additional.windows_1255 > > > > > > > > > > > > > > > windows-1256 class= org.apache.harmony.niochar.charset.additional.windows_1256 > > > > > > > > > > > > > > > windows-1257 class= org.apache.harmony.niochar.charset.CP_1257 > > > > > > > > > > > > > > > windows-1258 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ebcdic-xml-us class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1006_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1006 > > > > > > > > > > > > > > > x-ibm-1025_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1025 > > > > > > > > > > > > > > > x-ibm-1047-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1097_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1097 > > > > > > > > > > > > > > > x-ibm-1098_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1098 > > > > > > > > > > > > > > > x-ibm-1112_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1112 > > > > > > > > > > > > > > > x-ibm-1122_P100-1999 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1122 > > > > > > > > > > > > > > > x-ibm-1123_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1123 > > > > > > > > > > > > > > > x-ibm-1124_P100-1996 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM1124 > > > > > > > > > > > > > > > x-ibm-1125_P100-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1129_P100-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1130_P100-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1131_P100-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1132_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1133_P100-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1137_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1140-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1142-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1143-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1144-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1145-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1146-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1147-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1148-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1149-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1153-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1153_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1154_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1155_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1156_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1157_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1158_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1160_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1162_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1164_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1250_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1251_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1252_P100-2000 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1253_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1254_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1255_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1256_P110-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1257_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1258_P100-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-12712-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-12712_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1363_P110-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1364_P110-1997 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1371_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1373_P100-2002 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1375_P100-2003 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_MS950_HKSCS > > > > > > > > > > > > > > > x-ibm-1386_P100-2002 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1388_P103-2001 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1390_P110-2003 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-1399_P110-2003 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-16684_P110-2003 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-16804-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-16804_X110-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-25546 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-33722_P120-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-37-s390 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-4899_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-4909_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-4971_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-5123_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-5351_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-5352_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-5353_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-737_P100-1997 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM737 > > > > > > > > > > > > > > > x-ibm-803_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-813_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-8482_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-867_P100-1998 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-875_P100-1995 > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_IBM875 > > > > > > > > > > > > > > > x-ibm-901_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-902_P100-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-930_P120-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-933_P110-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-935_P110-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-937_P110-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-939_P120-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-942_P12A-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-943_P130-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-949_P110-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-949_P11A-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-950_P110-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-954_P101-2000 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-964_P110-1999 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-ibm-971_P100-1995 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-IMAP-mailbox-name class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-be class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-de class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-gu class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-ka class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-ma class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-or class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-pa class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-ta class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-iscii-te class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-JIS7 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-JIS8 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-1 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-11 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-16 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-17 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-18 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-19 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-2 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-3 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-4 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-5 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-6 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-LMBCS-8 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-mac-centraleurroman class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-mac-cyrillic > > > > > > > > > > > > > > > class= org.apache.harmony.niochar.charset.additional.x_MacCyrillic > > > > > > > > > > > > > > > x-mac-greek class= org.apache.harmony.niochar.charset.additional.x_MacGreek > > > > > > > > > > > > > > > x-mac-turkish class= org.apache.harmony.niochar.charset.additional.x_MacTurkish > > > > > > > > > > > > > > > x-UTF16_OppositeEndian class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-UTF16_PlatformEndian class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-UTF32_OppositeEndian class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-UTF32_PlatformEndian class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-windows-874-2000 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > x-windows-949-2000 class= com.ibm.icu4jni.charset.CharsetICU > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks. > > > > > > > > > > > > > > > Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > amazing work. > > > > > > > > > > > > > > > > > generating the charsets... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Vladimir Strigun < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > On 4/9/07, Andrew Zhang < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > On 4/9/07, Vladimir Strigun < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Andrew Zhang < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > > > Super cool!!! > > > > > > > > > > > > > > > > > > > > > Does it mean we're not dependent on ICU any more? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Unfortunately not all charsets supported with attached bundle. The > > > > > > > > > > > > > > > > > > > > list of supported charsets you could find in README file. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Vladimir, not unfortunately at all. :) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We're on the way to be independent of ICU, right? ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yes, you right, we're on the way :) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 4/9/07, Vladimir Strigun < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi all! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm happy to announce one more contribution to harmony on behalf of > > > > > > > > > > > > > > > > > > > > > > Intel. Provided implementation of charset encoders/decoders is > > > > > > > > > > > > > > > > > > > > > > intended to replace the ICU-based charsets encoding/decoding > > > > > > > > > > > > > > > > > > > > > > operations. The code was developed in clean-room environment inside > > > > > > > > > > > > > > > > > > > > > > Intel and I'd like you to play with it and include to current Harmony > > > > > > > > > > > > > > > > > > > > > > tree. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The package could be found there: > > > > > > > > > > > > > > > > > > > > > > HARMONY-3593 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The algorithms for charsets encoding/decoding differs from that of > > > > > > > > > > > > > > > > > > > > > > ICU, all charsets are generated from current Harmony or any other > > > > > > > > > > > > > > > > > > > > > > implementation of Java and could be properly integrated into current > > > > > > > > > > > > > > > > > > > > > > nio_char module. The archive contains source files for 6 charsets: > > > > > > > > > > > > > > > > > > > > > > GB18030, US-ASCII, ISO-8859-1, UTF-8, UTF-16, UTF-16BE, UTF-16LE; > > > > > > > > > > > > > > > > > > > > > > implementation of CharsetProvider; generator for other Charsets and > > > > > > > > > > > > > > > > > > > > > > native part. I've tested the package with more that 90 charsets, and > > > > > > > > > > > > > > > > > > > > > > all benchmarks and tests passed with new bundle. Additionally I have > > > > > > > > > > > > > > > > > > > > > > significant boost for Dacapo.antlr and Dacapo.xalan benchmarks with > > > > > > > > > > > > > > > > > > > > > > current Harmony tree on DRLVM and IBM VM. On DRLVM I have 2.5x boost > > > > > > > > > > > > > > > > > > > > > > for antlr and ~5-8x for xalan. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The main advantages of the package are the following: > > > > > > > > > > > > > > > > > > > > > > - Code for every charset is generated by CharsetGenerator, thus, if > > > > > > > > > > > > > > > > > > > > > > some modification would be necessary we need just correct generator > > > > > > > > > > > > > > > > > > > > > > and re-generate all sources. > > > > > > > > > > > > > > > > > > > > > > - We use 2 different encoders and decoders for java and direct > > > > > > > > > > > > > > > > > > > > > > buffers. Since most applications use java heap buffers, unlike > > > > > > > > > > > > > > > > > > > > > > existing implementation it doesn't produce lots of native calls to > > > > > > > > > > > > > > > > > > > > > > perform encoding/decoding operations on the java buffers those > > > > > > > > > > > > > > > > > > > > > > significantly improving performance. This is the main reason why we > > > > > > > > > > > > > > > > > > > > > > have such a significant boost for Dacapo. > > > > > > > > > > > > > > > > > > > > > > - Charset tables for encoding/decoding are stored in appropriate > > > > > > > > > > > > > > > > > > > > > > classes. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Since the package contains implementation for 6 charsets only, > > > > > > > > > > > > > > > > > > > > > > documentations how to generate and build additional charsets you could > > > > > > > > > > > > > > > > > > > > > > find in README file from contributed package. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please do not hesitate to contact me for more details. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > > > > > Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > Andrew Zhang > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > Andrew Zhang > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > 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 > > > > > -- > Tony Wu > China Software Development Lab, IBM > -- Tony Wu China Software Development Lab, IBM
-- Leo Li China Software Development Lab, IBM
