commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Dunning <ted.dunn...@gmail.com>
Subject Re: [MATH] Interest in large patches for small cleanup / performance changes?
Date Sun, 03 Nov 2013 04:17:02 GMT
How many of these actually matter any more?


On Sat, Nov 2, 2013 at 7:52 AM, Sean Owen <srowen@apache.org> wrote:

> In Math, is there any appetite for large patches containing many
> instances of particular micro-optimizations? Examples:
>
> - Replace:
>     a[i][j] = a[i][j] + foo;
>   with:
>     a[i][j] += foo;
>   … which is faster/leaner in the byte code by a little bit. It might
> make a difference in many nested, tight loops.
>

Does this actually matter after the JIT takes hold?  And if the JIT doesn't
care to optimize this away, does it even matter?



> - Inefficient toArray() calls with 0-length arg
> - Using Map.entrySet() instead of keySet() + get()s
>

I think that this actually really does matter, but escape analysis has
gotten dramatically better lately and may make the associated object
creation much less of an issue.


> - Unnecessarily non-static private methods/classes
>

This is stylistic and important.


> - StringBuffer vs StringBuilder
>

I know for a fact that escape analysis in recent JVM's gets rid of the
locks in most StringBuilder idioms and this just doesn't matter any more.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message