Hi,
My application has to work out the difference, in days, between two dates a
lot. So, I've been investigating the performance of different approaches.
Currently, we're using YearMonthDays and I was thinking of moving us to
LocalDate but I've noticed that the performance is not as good.
There are two approaches:
Approach 1 : the 'obvious' - create a period of type 'days' from the two
dates
Approach 2 : convert to DateMidnight in UTC, then create a period of type
'days' from the two DateMidnights
Here are the results (times in milliseconds are in brackets) together with the
key piece of code:
YearMonthDay - approach 1 (735ms)
new Period(ymd1, ymd2, PeriodType.days()).getDays();
YearMonthDay - approach 2 (234ms)
DateMidnight date1 = ymd1.toDateMidnight(DateTimeZone.UTC);
DateMidnight date2 = ymd2.toDateMidnight(DateTimeZone.UTC);
new Period(date1,date2,PeriodType.days()).getDays();
LocalDate - approach 1 (1328ms)
new Period(ldate1,ldate2, PeriodType.days()).getDays();
LocalDate - approach 2 (531ms)
DateMidnight date1 = ldate1.toDateMidnight(DateTimeZone.UTC);
DateMidnight date2 = ldate2.toDateMidnight(DateTimeZone.UTC);
new Interval(date1, date2).toPeriod(PeriodType.days()).getDays();
FYI: I'm running a simple timing loop that iterates through the calculation
200,000 times (and I do this a few times before the final timing, to
instantiate cached objects, load classes etc). We're running on the Java 5 VM.
The YearMonthDays and LocalDates are just created using the default
constructors.
So, firstly is there any particular reason why converting to DateMidnight is a
bad idea for this algorithm? Next, is there any way to get the performance of
YearMonthDay from LocalDate for this algorithm?
Thanks,
------------------
Paul Field
Global Markets Research IT
Deutsche Bank
---
This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Joda-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/joda-interest