• 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 = "这是一个小小的测试 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的性能。

  • 相关阅读:
    1、Elasticsearch教程-从入门到精通
    3、ik分词器
    2、ElasticSearch的安装
    svn操作
    2020-10
    编写第一个linux驱动
    字符设备驱动
    Linux下/dev和/sys/class的区别
    latex
    Qt
  • 原文地址:https://www.cnblogs.com/zolo/p/5885779.html
Copyright © 2020-2023  润新知