harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hindess <mark.hind...@googlemail.com>
Subject Re: [classlib][icu] Bringing ICU level up to 3.8
Date Wed, 17 Oct 2007 18:34:15 GMT

On 17 October 2007 at 16:32, Tim Ellison <t.p.ellison@gmail.com> wrote:
> Tim Ellison wrote:
> > (Left as an exercise for the reader <g>)
> 
> Feeling a bit guilty about the cop-out...

And so you should ;-)

> I slightly modified Alexei's test case to
>  - include some warm-up encode/decode loops to get the methods
>    jitted to a reasonable level,
>  - read the data into a direct byte buffer, and then into a
>    'regular' byte buffer, e.g. one allocated in the Java heap,
>  - I then looked at the effect of converting a short string (129 chars)

I'd have gone with the following 110 character string myself:

  "I took a speed-reading course and read War and Peace in twenty
  minutes.  It involves Russia." - Woody Allen.

> I was running this on the IBM VME, and here's what I got (below).
>
> Interestingly the Java decoder was faster on the long string than the
> native code.  The others are sufficiently similar to imply to me that
> we should just keep it all in Java.

You mean remove the heuristic and remove the intel-contributed native
code?  I guess that seems reasonable given these results; it would
enable us to reduce the size of the code base (and jre footprint
as discussed elsewhere) and concentrate our efforts on the java
implementation.

Of course, this is rather dependent on us being able to achieve similar
results on DRLVM - so it would be interesting to see these results for
that VM too.

Regards,
 Mark.

> === long string
> 
> Read chars = 3285165
> 10 loops warm up
> 10 loops timed
> 
> Direct ByteBuffer
> 
> Built-in
> <org.apache.harmony.niochar.charset.CP_1251$Decoder> Decoding time: 781
> millis
> <org.apache.harmony.niochar.charset.CP_1251$Encoder> Encoding time: 571
> millis
> 
> 
> Java Heap Byte Buffer
> 
> Built-in
> <org.apache.harmony.niochar.charset.CP_1251$Decoder> Decoding time: 430
> millis
> <org.apache.harmony.niochar.charset.CP_1251$Encoder> Encoding time: 521
> millis
> 
> 
> === short string
> 
> Read chars = 129
> 1000 loops warm-up
> 10000 loops timed
> 
> 
> Direct ByteBuffer
> 
> Built-in
> <org.apache.harmony.niochar.charset.CP_1251$Decoder> Decoding time: 10
> millis
> <org.apache.harmony.niochar.charset.CP_1251$Encoder> Encoding time: 0 millis
> 
> 
> Java Heap Byte Buffer
> 
> Built-in
> <org.apache.harmony.niochar.charset.CP_1251$Decoder> Decoding time: 10
> millis
> <org.apache.harmony.niochar.charset.CP_1251$Encoder> Encoding time: 0 millis
> 



Mime
View raw message