Review/comment needed for the new public java.util.Base64 class

Xueming Shen xueming.shen at oracle.com
Fri Oct 12 06:38:31 UTC 2012


> On 10/11/2012 02:43 AM, Stephen Colebourne wrote:
>
>> There are lots of other public base 64 implementations to test/check 
>> against.
>> http://commons.apache.org/net/api-3.1/org/apache/commons/net/util/Base64.html 
>>
>> http://www.cs.berkeley.edu/~jonah/bc/org/bouncycastle/util/encoders/Base64.html 
>>
>> http://migbase64.sourceforge.net/  (claims to be fast)
>

I did a quick performance check against migbase64 with the basic base64 
de/encoding
using this non-scientific benchmark.
http://cr.openjdk.java.net/~sherman/4235519/PermBase64.java

Here is the scores
http://cr.openjdk.java.net/~sherman/4235519/scores

It's a tie, j.u.Base64 wins the decoding, but needs some work on 
encoding side.

java -server PermBase64 200000 50
  j.u.Base64.encode() : 1390212
   migBase64.encode() : 720517
  j.u.Base64.decode() : 1200642
   migBase64.decode() : 2070015

java -server PermBase64 200000 100
  j.u.Base64.encode() : 1239407
   migBase64.encode() : 740404
  j.u.Base64.decode() : 1257092
   migBase64.decode() : 2012910

java -server PermBase64 200000 1000
  j.u.Base64.encode() : 1062212
   migBase64.encode() : 657342
  j.u.Base64.decode() : 1133740
   migBase64.decode() : 1930612

java -client PermBase64 200000 50
  j.u.Base64.encode() : 961331
   migBase64.encode() : 875635
  j.u.Base64.decode() : 1528790
   migBase64.decode() : 2188473

java -client PermBase64 200000 100
  j.u.Base64.encode() : 966453
   migBase64.encode() : 858082
  j.u.Base64.decode() : 1459159
   migBase64.decode() : 2115045

java -client PermBase64 200000 1000
  j.u.Base64.encode() : 954401
   migBase64.encode() : 854903
  j.u.Base64.decode() : 1444603
   migBase64.decode() : 2038865





More information about the core-libs-dev mailing list