On 18/10/2012 03:10, Xueming Shen wrote:
Hi
Webrev has been updated with following changes
(1) added a pair of en/decode(ByteBuffer src, ByteBuffer dst) methods
(2) some minor spec clarification regarding the "end of decoding"
(3) performance tuning.
webrev:
http://cr.openjdk.java.net/~sherman/4235519/webrev
some performance scores:
http://cr.openjdk.java.net/~sherman/4235519/score3
-Sherman
Have you done any performance tuning on the new methods that
encode/decode into an existing ByteBuffer? Just wondering as the direct
buffer case seems more expensive that I would expect. It would be
interesting to see using the put(int,byte) and fixing up the position at
the end would help. It might also be something to look at with the
compiler folks.
In any case, I think encode(ByteBuffer,ByteBuffer,int) looks reasonable
and just requires using the idiom to get it right. I'm less sure about
decode returning a boolean. Shouldn't it be an error if there are bytes
remaining after the = padding? I'm just looking for ways to allow the
method return an int to indicate the number of bytes written to the
output buffer (and realize that we aren't going to get symmetry with the
encode method).
-Alan.