首页 > 代码库 > Base64实现测试,不要太相信apache-common的性能

Base64实现测试,不要太相信apache-common的性能

针对三种Base64实现:

* 自已实现的

* JDK8的java.util.Base64

* apache-common的org.apache.commons.codec.binary.Base64

	/**	 * 用于命令行调用	 * 	 * @throws Exception	 */	public static void main(String[] args) throws Exception {				byte[] binaryData = "http://www.mamicode.com/这是一个小小的测试 this is a test only".getBytes();				long t1 = System.currentTimeMillis();				for (int i = 0; i < 10000 * 1000; i++)			Base64.decode(Base64.encode(binaryData));				long t2 = System.currentTimeMillis();				Encoder encoder = java.util.Base64.getEncoder();		Decoder decoder = java.util.Base64.getDecoder();		for (int i = 0; i < 10000 * 1000; i++)			decoder.decode(encoder.encodeToString(binaryData));				long t3 = System.currentTimeMillis();				for (int i = 0; i < 10000 * 1000; i++)			org.apache.commons.codec.binary.Base64.decodeBase64(org.apache.commons.codec.binary.Base64.encodeBase64String(binaryData));				long t4 = System.currentTimeMillis();				System.out.println("t2-t1:"+(t2-t1));		System.out.println("t3-t2:"+(t3-t2));		System.out.println("t4-t3:"+(t4-t3));	}

  

测试结果:

t2-t1:7871  #自己实现的
t3-t2:2820  #JDK8自带的
t4-t3:25142 #apache-common的

不要太相信apache-common的性能。

Base64实现测试,不要太相信apache-common的性能