Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Patch
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.
Attachments
Attachments
Issue Links
- links to