RFR: 8181147: JNI_GetStringPlatformChars should have a fast path for UTF-8

Claes Redestad claes.redestad at oracle.com
Fri May 26 18:33:42 UTC 2017


Indeed I did...

Oh well, another day...

/Claes

On 2017-05-26 20:12, Martin Buchholz wrote:
> I think you've fallen into the trap of confusing UTF-8 and Modified 
> UTF-8.
>
> The prevailing pattern seems to be to write an entirely new UTF-8 
> implementation for any performance problem involving UTF-8 :-(  e.g. 
> in StringCoding.
>
> On Fri, May 26, 2017 at 10:58 AM, Claes Redestad 
> <claes.redestad at oracle.com <mailto:claes.redestad at oracle.com>> wrote:
>
>     Hi,
>
>     various JNI methods in the JDK converts from java Strings to native
>     encoding using JNI_GetStringPlatformChars, which has long standing
>     optimizations for dealing with various default charsets.
>
>     However, UTF-8 is missing, which is a shame since we have optimized
>     utilities for converting from a String to UTF-8-encoded char* (since
>     this is the native encoding used by HotSpot internally).
>
>     Webrev: http://cr.openjdk.java.net/~redestad/8181147/jdk.00/
>     <http://cr.openjdk.java.net/%7Eredestad/8181147/jdk.00/>
>     Bug: https://bugs.openjdk.java.net/browse/JDK-8181147
>     <https://bugs.openjdk.java.net/browse/JDK-8181147>
>
>     Allocation rate can drop significantly in microbenchmarks, e.g., -60%
>     in a trivial micro doing new File(path).isHidden() (along with a 30%
>     throughput win), while the rate of native allocation with is net
>     neutral.
>
>     (I think the code for FAST_646_US could be removed, since Solaris 8
>     support was dropped in JDK 8, but that's a separate RFE...)
>
>     Thanks!
>
>     /Claes
>
>



More information about the core-libs-dev mailing list