Github user PuspenduBanerjee commented on the pull request: https://github.com/apache/nifi/pull/202#issuecomment-178958929 @trkurc :+1: That's a good catch. Yes Long.toString(long) is faster but the difference is only about ~60 milliSeconds for 10^20 iteration because: ```java /** * Returns a {@code String} object representing this * {@code Long}'s value. The value is converted to signed * decimal representation and returned as a string, exactly as if * the {@code long} value were given as an argument to the * {@link java.lang.Long#toString(long)} method. * * @return a string representation of the value of this object in * base 10. */ public String toString() { return toString(value); } ``` But, do you think that should be accounted against the manageability of the method in context of the provided test scenario? And, please try the following code, try to run it & you will something noticeable: ```java public static void main(String args[]){ for (int i = 0; i < 100; i++) { main1(); } } public static void main1(){ long iter = 1<<20; AtomicLong ai = new AtomicLong(0); long now = System.currentTimeMillis(); for(int i=0; i < iter; i++) { Long x = ai.getAndIncrement(); String x2 = x.toString(); } System.out.printf("1 ===== %d elapsed\n", (System.currentTimeMillis() - now )); now = System.currentTimeMillis(); for(int i=0; i < iter; i++) { String x2 = Long.toString(ai.getAndIncrement()); } System.out.printf("2 ===== %d elapsed\n", (System.currentTimeMillis() - now )); System.out.println("=============================DONE========================"); } ```
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---