Skip to content

Instantly share code, notes, and snippets.

@dkavanagh
Created September 13, 2016 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dkavanagh/88f65214e3bc1f67de1d298091c65237 to your computer and use it in GitHub Desktop.
Save dkavanagh/88f65214e3bc1f67de1d298091c65237 to your computer and use it in GitHub Desktop.
performance testing guava and apache commons-codec base64 decoding.
import com.google.common.io.BaseEncoding;
import org.apache.commons.codec.binary.Base64;
public class decodetest {
public static void main(String [] args) {
String encoded = "eyJub25jZSI6bnVsbCwiYXRfaGFzaCI6InNSS0t4akRna2pPd3p1d25BUDBjbEx0NlRsaTh0T3VJb1c2T3lZWTJfZTAiLCJhdWQiOiI2NTkwNjdlYy05Njk4LTQ0YTgtODhlYS1kYjMxZTA3MTQ0N2EiLCJzdWIiOiI2ZjNhMTdkNC01MzhlLTQ0MzEtODg5Yi1mNjFhZWExNWNmMGMiLCJleHAiOjE0NzMzNjk1NzAsImlzcyI6Imh0dHBzOi8vYXV0aC5nbG9idXMub3JnIiwiaWF0IjoxNDczMTk2NzcwLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJka2F2YW5hZ2hAZ21haWwuY29tIiwiZW1haWwiOiJka2F2YW5hZ2hAZ21haWwuY29tIiwibmFtZSI6IkRhdmlkIEthdmFuYWdoIn0";
//String encoded = "xGB5hkL_VueWstXijYZ8FgtKPD9ZwvlYCcqLswY3qf4-Dm5ZLz67MS9uUhzwHzMwVi_1J-d5BzZvZhbqP_6AboRX4RM4gkTrkjZJMLFVbqsDdU6FnljevlDCpcca_y2XvnZYV9xa_-ugbnaT6CL6opsBfOhXCWJqkKU2Ajw6I087FHIq4XGl7yP2LUEalZqnLpIOD4vJ-Mm9MSHJmtRxKqmF-keDZulc17hY5jeOTdPVWdVWxQY1c-TqZstkIVFS9Xl4rX--A73nV1VWEILTqNXBpoUMC2c8KgmoCfsdk0KBER7hCztmtkY3o633LDZR-aHUxpSvXQjMgua2aAXnOQ==";
long start = System.currentTimeMillis();
for (int i=0; i<10000; i++) {
byte [] decoded = Base64.decodeBase64(encoded);
}
long end = System.currentTimeMillis();
System.out.println("apache decode "+(end-start)/1000.0+" seconds");
start = System.currentTimeMillis();
for (int i=0; i<10000; i++) {
byte [] decoded = BaseEncoding.base64().decode(encoded);
}
end = System.currentTimeMillis();
System.out.println("guava decode "+(end-start)/1000.0+" seconds");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment