SimpleDateFormat和FastDateFormat的效率测试,FastDateFormatr优于SimpleDateFormat

标签: simpledateformat fastdateformat 测试 | 发表时间:2015-11-13 10:29 | 作者:colbybobo
出处:http://www.iteye.com

需要引入commons-lang包,Maven配置如下:

 

 <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

 

 

测试代码如下:

import org.apache.commons.lang3.time.FastDateFormat;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * Discribe:Test
 * 2015/11/12 23:16
 */
public class DateTest {

    public static  void main(String[] args)  {

        /**
         * testDateFormat
         */
        int cont = 200000;
        String pattern = "yyyy-MM-dd HH:mm:ss";
        /**
         * 测试10次
         */
        for(int i=1;i<=10;i++){
            testDateFormat(cont,i,pattern);
        }

    }
    /**
     *  testDateFormat
     */
    public static void testDateFormat(int cont,int num,String pattern){
        System.out.println("执行第"+num+"次");

        long l1 = System.currentTimeMillis();
        for(int i=0;i<=cont;i++){
            SimpleDateFormat s = new SimpleDateFormat(pattern);
            Date date = new Date(System.currentTimeMillis());
            String string = s.format(date);

        }
        long l2 =  System.currentTimeMillis();
        System.out.println("SimpleDateFormat covert time:"+(l2-l1));

        for(int i=0;i<=cont;i++){
            FastDateFormat s = FastDateFormat.getInstance(pattern, TimeZone.getDefault(), Locale.getDefault());
            Date date = new Date(System.currentTimeMillis());
            String string = s.format(date);
            //System.out.println(string);
        }
        long l3 =  System.currentTimeMillis();
        System.out.println("FastDateFormat covert time:"+(l3-l2));

    }
}

 

多次运行结果如下:

 

执行第1次
SimpleDateFormat covert time:1183
FastDateFormat covert time:441
执行第2次
SimpleDateFormat covert time:566
FastDateFormat covert time:155
执行第3次
SimpleDateFormat covert time:322
FastDateFormat covert time:132
执行第4次
SimpleDateFormat covert time:323
FastDateFormat covert time:140
执行第5次
SimpleDateFormat covert time:331
FastDateFormat covert time:130
执行第6次
SimpleDateFormat covert time:292
FastDateFormat covert time:93
执行第7次
SimpleDateFormat covert time:245
FastDateFormat covert time:96
执行第8次
SimpleDateFormat covert time:249
FastDateFormat covert time:98
执行第9次
SimpleDateFormat covert time:246
FastDateFormat covert time:98
执行第10次
SimpleDateFormat covert time:242
FastDateFormat covert time:103

 从运行结果来看,FastDateFormat效率明 SimpleDateFormat 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [simpledateformat fastdateformat 测试] 推荐:

SimpleDateFormat和FastDateFormat的效率测试,FastDateFormatr优于SimpleDateFormat

- - 企业架构 - ITeye博客
需要引入commons-lang包,Maven配置如下:. System.out.println("执行第"+num+"次");.  从运行结果来看,FastDateFormat效率明 SimpleDateFormat . 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

[原]simpledateformat线程不安全解决方案

- - bejustice的专栏
代码功能性测试和低并发测试时一切正常,但是高并发多线程性能测试时出现. java.lang.NumberFormatException: multiplepoints错误,排查原因发现是SimpleDateFormat线程不安全引起. 2      网上解决方案. 1.      局部变量,每次new SimpleDateFormat,这样开销过大,对性能影响大;.

关于 SimpleDateFormat 的非线程安全问题及其解决方案

- - 大伟
参考:http://my.oschina.net/leejun2005/blog/152253. (2)使用 ThreadLocal. (3)同步代码块 synchronized(code). (4)使用第三方的日期处理函数:. 之前有同事好几次都掉这个坑里去了,刚好今天有看到有篇帖子提了下,索性就整理下吧~.

测试

- 香姜 - 韩寒
测试......>>点击查看新浪博客原文.

Android单元测试与模拟测试

- - 神刀安全网
考虑可读性,对于方法名使用表达能力强的方法名,对于测试范式可以考虑使用一种规范, 如 RSpec-style. 不要使用逻辑流关键字(If/ese、for、do/while、switch/case),在一个测试方法中,如果需要有这些,拆分到单独的每个测试方法里. 测试真正需要测试的内容,需要覆盖的情况,一般情况只考虑验证输出(如某操作后,显示什么,值是什么).

免费测试VPN

- 勇 - iGFW
lusovps目前提供免费15天的PPTP VPN试用服务,. 申请地址:https://cart.lusovps.com/cart.php?a=add&pid=13. WHMCS注册系统,可以参考 http://igfw.tk/archives/3727. 注册后无需审核,立刻激活,帐号信息会发至邮箱.

HTTP负载测试

- - 博客 - 伯乐在线
英文原文: ON HTTP LOAD TESTING 来源: oschina. 有很多人在谈论HTTP服务器软件的性能测试,也许是因为现在有太多的服务器选择. 这很好,但是我看到有人很多基本相同的问题,使得测试结果的推论值得怀疑. 在日常工作中花费了很多时间在高性能代理缓存和源站性能测试方面之后,这里有我认为比较重要的一些方面来分享.

Android单元测试

- - CSDN博客推荐文章
    单元测试不管对于初学编程还是已经工作了很久的开发者来说,都不乐意花时间去写认为没用的代码进行测试,只要交给测试人员就行了,虽然这样也能把软件改出来,但也许你要花上几倍的时间去修改问题,如果在开发的过程中花点时间去写单元测试代码,把尽可能出问题的地方都测试一遍,把问题扼杀在最开始的地方,这样你就不必为后来找问题出处而烦恼.

mongodb性能测试

- - 数据库 - ITeye博客
1) Mongodb的非安全插入方式,在一开始插入性能是非常高的,但是在达到了两千万条数据之后性能骤减,这个时候恰巧是服务器24G内存基本占满的时候(随着测试的进行mongodb不断占据内存,一直到操作系统的内存全部占满),也就是说Mongodb的内存映射方式,使得数据全部在内存中的时候速度飞快,当部分数据需要换出到磁盘上之后,性能下降很厉害.

Android集成测试

- - 百度质量部 | 软件测试 | 测试技术 | 百度测试
  Android集成测试主要是在单元测试的基础上测试接口访问或者异步任务是否正确,在. 移动凤巢系统中,大概有30+个接口需要测试,他们都遵循一个特定的访问模式:前台的. Activity获取到触发事件后,将它传给这些接口,这些接口都是AsyncTask的实现——即后台. 异步线程执行某个任务(一般是发送http请求到后端服务或者执行存取数据库等耗时操作),.