joda-time 日常使用效率测试
joda time官网地址:http://joda-time.sourceforge.net/
最近项目上引进joda-time.jar,进行日期类处理,使用方便,灵活。
抱着怀疑的态度做了一个简单的基本使用测试,用数据来证明一切。
测试环境:
JDK:sun JDK 1.6.31
joda-time.jar: joda-time-2.1.jar
机器系统:xp
开发软件:eclipse3.7.2
直接代码说话
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.joda.time.DateTime; public final class Test { private Test() { } /** * <B>测试jodatime日期处理效率</B><br> * * @author liujinxin * @param preheatCount * 预热次数 * @param runCount * 运行次数 */ private static void testJoda(int preheatCount, int runCount) { // 预热代码 for (int i = 0; i < preheatCount; i++) { new DateTime(); } // 测试部分 final long start = System.currentTimeMillis(); for (int i = 0; i < runCount; i++) { final DateTime dateTime = new DateTime(); // 测试日期修改 // new DateTime().plusHours(1); // 测试日期格式化 dateTime.toString("yyyy-MM-dd HH"); } final long end = System.currentTimeMillis(); System.out.println(end - start); } /** * <B>测试JDK日期处理效率</B><br> * * @author liujinxin * @param preheatCount * 预热次数 * @param runCount * 运行次数 */ private static void testCalendar(int preheatCount, int runCount) { // 预热代码 for (int i = 0; i < preheatCount; i++) { Calendar.getInstance(); } // 测试部分 final long start1 = System.currentTimeMillis(); for (int i = 0; i < runCount; i++) { // 测试日期修改 // Calendar.getInstance().add(Calendar.HOUR, 1); // 测试日期格式化 final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH"); simpleDateFormat.format(new Date()); } final long end1 = System.currentTimeMillis(); System.out.println(end1 - start1); } public static void main(String[] args) { final int preheatCount = 0; final int runCount = 100000; // 分别单独运行两个测试方法 // testJoda(init, runCount); testCalendar(preheatCount, runCount); } }
测试具体数据就不贴出来了(别骂我,每个机器都不大一样,自己跑一下,很快的),
结论:
jodatime在预热10000次后 运行效率远高于JDK自带的Calendar。
但是未预热时,运行次数小于1000时,JDK自带的Calendar稍快一些。
一般系统对于时间的处理都会大于1000次,大型一点的系统一般都有预热程序。
分析:
sun的jvm的实现,会将运行到一定次数的代码进行本地化编译,进行本地化编译后效率大大提高。
相关推荐
赠送jar包:joda-time-2.8.1.jar 赠送原API文档:joda-time-2.8.1-javadoc.jar 赠送源代码:joda-time-2.8.1-sources.jar 包含翻译后的API文档:joda-time-2.8.1-javadoc-API文档-中文(简体)版.zip 对应Maven信息...
赠送jar包:joda-time-2.10.8.jar; 赠送原API文档:joda-time-2.10.8-javadoc.jar; 赠送源代码:joda-time-2.10.8-sources.jar; 赠送Maven依赖信息文件:joda-time-2.10.8.pom; 包含翻译后的API文档:joda-time-...
joda-time-2.1.jar
赠送jar包:joda-time-2.9.5.jar; 赠送原API文档:joda-time-2.9.5-javadoc.jar; 赠送源代码:joda-time-2.9.5-sources.jar; 赠送Maven依赖信息文件:joda-time-2.9.5.pom; 包含翻译后的API文档:joda-time-...
赠送jar包:joda-time-2.5.jar; 赠送原API文档:joda-time-2.5-javadoc.jar; 赠送源代码:joda-time-2.5-sources.jar; 赠送Maven依赖信息文件:joda-time-2.5.pom; 包含翻译后的API文档:joda-time-2.5-javadoc-...
赠送jar包:joda-time-2.10.4.jar; 赠送原API文档:joda-time-2.10.4-javadoc.jar; 赠送源代码:joda-time-2.10.4-sources.jar; 赠送Maven依赖信息文件:joda-time-2.10.4.pom; 包含翻译后的API文档:joda-time-...
赠送jar包:joda-time-2.2.jar; 赠送原API文档:joda-time-2.2-javadoc.jar; 赠送源代码:joda-time-2.2-sources.jar; 赠送Maven依赖信息文件:joda-time-2.2.pom; 包含翻译后的API文档:joda-time-2.2-javadoc-...
赠送jar包:joda-time-2.9.9.jar; 赠送原API文档:joda-time-2.9.9-javadoc.jar; 赠送源代码:joda-time-2.9.9-sources.jar; 赠送Maven依赖信息文件:joda-time-2.9.9.pom; 包含翻译后的API文档:joda-time-...
joda-time-2.9.9时间日期转换工具类,简单易用,功能强大!
1. 易于使用:Calendar让获取"正常的"的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引值1就是代表January。 2. 易于扩展:JDK支持多日历系统是通过Calendar的子类来实现,这样...
赠送jar包:joda-time-2.8.1.jar; 赠送原API文档:joda-time-2.8.1-javadoc.jar; 赠送源代码:joda-time-2.8.1-sources.jar; 赠送Maven依赖信息文件:joda-time-2.8.1.pom; 包含翻译后的API文档:joda-time-...
于是就诞生了Joda-Time这个专门处理日期时间的库。(JDK1.8的API已经重写了日期库,引入的java.time包,其实也是借鉴了Joda-Time) --------------------- 作者:--nodeps 来源:CSDN 原文:...
joda-time-2.5.jar包
赠送jar包:joda-time-2.6.jar; 赠送原API文档:joda-time-2.6-javadoc.jar; 赠送源代码:joda-time-2.6-sources.jar; 赠送Maven依赖信息文件:joda-time-2.6.pom; 包含翻译后的API文档:joda-time-2.6-javadoc-...
赠送jar包:joda-time-2.2.jar; 赠送原API文档:joda-time-2.2-javadoc.jar; 赠送源代码:joda-time-2.2-sources.jar; 赠送Maven依赖信息文件:joda-time-2.2.pom; 包含翻译后的API文档:joda-time-2.2-javadoc-...
赠送jar包:joda-time-2.9.9.jar; 赠送原API文档:joda-time-2.9.9-javadoc.jar; 赠送源代码:joda-time-2.9.9-sources.jar; 赠送Maven依赖信息文件:joda-time-2.9.9.pom; 包含翻译后的API文档:joda-time-...
joda-time-2.8.2.jar