Apache Commons Lang 3.5: Two Steps Forward in Performance

When Apache Commons Lang 3.5 will eventually be released it will contain among others two performance improvements.

First LANG-1218 will allow EqualsBuilder#append(Object,Object) to be inlined (on the Oracle HotSpot JVM). This in turn will allow EqualsBuilder to be scalarized. You should see a reduction in allocation rate and an improvement in performance of up to a factor of three. It is important to note that this improvement only works as long as you’re not calling EqualsBuilder#append(Object,Object) with an argument of static type Object and a dynamic type of array.

Second LANG-1230 allows multiple threads to call #reflectionEquals and #reflectionHashCode concurrently. You should see a reduction in lock contention and an improvement in throughput.