[
https://issues.apache.org/jira/browse/TAJO-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14172189#comment-14172189
]
Hudson commented on TAJO-1093:
------------------------------
SUCCESS: Integrated in Tajo-block_iteration-branch-build #15 (See
[https://builds.apache.org/job/Tajo-block_iteration-branch-build/15/])
TAJO-1093: DateTimeFormat.to_char() is slower than SimpleDateFormat.format().
(Jihun Kang via hyunsik) (hyunsik: rev d0f9ebc1c501721ecee5422534b1740e38105996)
* tajo-common/src/main/java/org/apache/tajo/util/datetime/DateTimeFormat.java
* CHANGES
TAJO-1093: DateTimeFormat.to_char() is slower than SimpleDateFormat.format().
(bug fix) (hyunsik: rev bbd7a768a161be0e529ef41dea325fae196a4c1d)
* tajo-common/src/main/java/org/apache/tajo/util/datetime/DateTimeFormat.java
> DateTimeFormat.to_char() is slower than SimpleDateFormat.format()
> -----------------------------------------------------------------
>
> Key: TAJO-1093
> URL: https://issues.apache.org/jira/browse/TAJO-1093
> Project: Tajo
> Issue Type: Improvement
> Components: data type
> Reporter: Hyoungjun Kim
> Assignee: Jihun Kang
> Priority: Minor
> Labels: datetime
> Fix For: 0.9.0
>
>
> I tested DateTimeFormat class with the below code.
> {code}
> TimeMeta tm = new TimeMeta();
> DateTimeUtil.toJulianTimeMeta(DateTimeUtil.javaTimeToJulianTime(System.currentTimeMillis()),
> tm);
> int iteration = 1000000;
> long startTime = System.currentTimeMillis();
> for (int i = 0; i < iteration; i++) {
> DateTimeFormat.to_char(tm, "YYYY-MM-DD HH24:MI:SS");
> }
> long endTime = System.currentTimeMillis();
> System.out.println("DateTimeFormat.to_char: " + (endTime - startTime) + "
> ms");
> ///////////////////////////////////////////////////////////
> SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
> Date date = new Date();
> startTime = System.currentTimeMillis();
> for (int i = 0; i < iteration; i++) {
> df.format(date);
> }
> endTime = System.currentTimeMillis();
> System.out.println("SimpleDateFormat.format: " + (endTime - startTime) + "
> ms");
> ///////////////////////////////////////////////////////////
> startTime = System.currentTimeMillis();
> for (int i = 0; i < iteration; i++) {
> DateTimeFormat.parseDateTime("2014-01-01 12:11:11", "YYYY-MM-DD
> HH24:MI:SS");
> }
> endTime = System.currentTimeMillis();
> System.out.println("DateTimeFormat.parseDateTime: " + (endTime - startTime) +
> " ms");
> ///////////////////////////////////////////////////////////
> startTime = System.currentTimeMillis();
> for (int i = 0; i < iteration; i++) {
> df.parse("2014-01-01 12:11:11");
> }
> endTime = System.currentTimeMillis();
> System.out.println("SimpleDateFormat.parse: " + (endTime - startTime) + "
> ms");
> {code}
> The following is the test result. DateTimeFormat.to_char is 20 times slower
> than SimpleDateFormat.format.
> {noformat}
> DateTimeFormat.to_char: 6993 ms
> SimpleDateFormat.format: 373 ms
> DateTimeFormat.parseDateTime: 798 ms
> SimpleDateFormat.parse: 1400 ms
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)