[ 
https://issues.apache.org/jira/browse/STORM-3375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

bd2019us updated STORM-3375:
----------------------------
    Description: 
Hello, 
I found two locations of Date.getTime() which can be replaced with 
System.currentTimeMillis().
(1) 
external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java:134
(2) 
external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java:121

Since new Date() is a thin wrapper of method System.currentTimeMillis().  The 
performance will be greatly damaged if it is invoked too much times.
According to my local testing at the same environment, 
System.currentTimeMillis() can achieve a speedup to 5 times (435ms vs 2073ms), 
when these two methods are invoked 5,000,000 times.
Therefore, if only getTime() is used for Date object, the light method 
System.currentTimeMillis() is recommended, which can also avoid creating the 
temporary Date object.

  was:
Hello, 
I found two locations of Date.getTime() which can be replaced with 
System.currentTimeMillis().
(1) 
external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java:134
(2) 
external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java:121

Since new Date() is a thin wrapper of method System.currentTimeMillis().  The 
performance will be greatly damaged if it is invoked too much time.
According to my local testing at the same environment, 
System.currentTimeMillis() can achieve a speed up to 5 times (435ms vs 2073ms), 
when these two methods are invoked 5,000,000 times , 
Therefore, if only getTime() is used for Date object, the light method 
System.currentTimeMillis() is  recommended, which can also avoid creating the 
temporary Date object.


> Date.getTime() can be changed to System.currentTimeMillis()
> -----------------------------------------------------------
>
>                 Key: STORM-3375
>                 URL: https://issues.apache.org/jira/browse/STORM-3375
>             Project: Apache Storm
>          Issue Type: Bug
>            Reporter: bd2019us
>            Priority: Major
>
> Hello, 
> I found two locations of Date.getTime() which can be replaced with 
> System.currentTimeMillis().
> (1) 
> external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/DelimitedRecordHiveMapper.java:134
> (2) 
> external/storm-hive/src/main/java/org/apache/storm/hive/bolt/mapper/JsonRecordHiveMapper.java:121
> Since new Date() is a thin wrapper of method System.currentTimeMillis().  The 
> performance will be greatly damaged if it is invoked too much times.
> According to my local testing at the same environment, 
> System.currentTimeMillis() can achieve a speedup to 5 times (435ms vs 
> 2073ms), when these two methods are invoked 5,000,000 times.
> Therefore, if only getTime() is used for Date object, the light method 
> System.currentTimeMillis() is recommended, which can also avoid creating the 
> temporary Date object.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to