RFR: JDK-8184947:,ZipCoder performance improvements

Xueming Shen xueming.shen at oracle.com
Wed Dec 13 15:08:16 UTC 2017

Thanks Martin!

webrev has been updated accordingly.


I will try to see if I can do something for your canDecode(...) idea. 
I'm still have a relative
big change in repo (mainly for the Strting(ByteBuffer ...) which might 
move all those
utf8/asci/iso8859 back to where they were in sun.nio.cs.

I'm running tests locally and on our mach5 system now. If everything 
comes back
positively, with in next 50  minutes :-)  I will try to push what I have 
right now into
the jdk10.


On 12/13/17, 2:28 AM, Martin Buchholz wrote:
> Sorry, I haven't had the time I would like to review.
> It would be good to make jdk10.
> I keep wishing what we do for performance here wouldn't get so messy.
> I keep thinking we should add some methods to the public Charset 
> classes, e.g. canDecode(byte[], int, int) with one general purpose 
> implementation and high-performance implementations for UTF-8, ASCII, 
> Latin1
> ASCII checking via hasNegatives has some hotspot help and that should 
> be available as a high performance public API somewhere.  One 
> possibility is my canDecode suggestion.
> +            if (b>= 0)
> +                putChar(dst, dp++, (char)b);
> +            else
> +                putChar(dst, dp++, repl);
> why not coalesce into putChar(dst, dp++, (b >= 0) ? (char)b : repl)

More information about the core-libs-dev mailing list