<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Am 30.09.2011 22:46, schrieb Xueming Shen:
    <blockquote cite="mid:4E862AB2.7090605@oracle.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      I believe we changed from (b1 &lt; xyz) to (b1 &gt;&gt; x) == -2
      back to 2009(?) because<br>
      the benchmark shows the "shift" version is slightly faster. Do you
      have any number<br>
      shows any difference now. My non-scientific benchmark still
      suggests the "shift"<br>
      type is faster on -server vm, no significant difference on -client
      vm.<br>
    </blockquote>
    My new guess for the reason:<br>
    The unfolding of the bytes to int to serve the isNotContinuation /
    isMalformedxx methods.<br>
    So those methods should be coded in byte logic too.<br>
    <br>
    But there remains the big question, why c1 is faster than c2, except
    for 1b.<br>
    <br>
    -Ulf<br>
    <br>
    <br>
    <blockquote cite="mid:4E862AB2.7090605@oracle.com" type="cite"> <br>
      &nbsp; ------------------&nbsp; your new switch---------------<br>
      (1) -server<br>
      Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Millis&nbsp; Ratio<br>
      Decoding 1b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp; 1.000<br>
      Decoding 2b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2558 20.443<br>
      Decoding 3b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3439 27.481<br>
      Decoding 4b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2030 16.221<br>
      (2) -client<br>
      Decoding 1b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 335&nbsp; 1.000<br>
      Decoding 2b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1041&nbsp; 3.105<br>
      Decoding 3b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2245&nbsp; 6.694<br>
      Decoding 4b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1254&nbsp; 3.741<br>
      <br>
      &nbsp; ------------------ existing "shift"---------------<br>
      (1) -server<br>
      Decoding 1b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 134&nbsp; 1.000<br>
      Decoding 2b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1891 14.106<br>
      Decoding 3b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2934 21.886<br>
      Decoding 4b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2133 15.913<br>
      (2) -client<br>
      Decoding 1b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 341&nbsp; 1.000<br>
      Decoding 2b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 949&nbsp; 2.560<br>
      Decoding 3b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2321&nbsp; 6.255<br>
      Decoding 4b UTF-8 :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1278&nbsp; 3.446<br>
      <br>
      <br>
      <br>
      -sherman<br>
      <br>
    </blockquote>
  </body>
</html>