Expected vs. observed performance of java.util.zip.CRC32 in Java 7 and 8

Ariel Weisberg ariel at weisberg.ws
Sun Jan 25 18:27:47 UTC 2015


Hi,

Well to wrap this up for me at least. I tested with a very simple
benchmark on Linux and I see the expected behavior.

JDK 8  CRC32 is fast, but slows down with -XX:-UseCLMUL
-XX:-UseCRC32Intrinsics.
JDK 7 both implementations perform similarly

The JDK 8 non-intrinsic may have gotten slower. I didn't repeat enough
to confirm.

I repeated the same test on OS X and -XX:-UseCLMUL
-XX:-UseCRC32Intrinsics have no effect on JDK 8. The performance remains
high. JDK 7  had the same high performance as JDK 8 and this is with me
invoking javac/java from the CLI with an absolute path. The benchmark
also prints out the java.version property which confirms that JDK 7 is
really going that fast.

Regards,
Ariel

On Wed, Jan 21, 2015, at 03:15 PM, Ariel Weisberg wrote:
> Hi,
> 
> I cleaned up the results and converted to bytes and megabytes/second by
> multiplying byteSize with ops/sec.
> 
> https://docs.google.com/spreadsheets/d/1SirRnW7JOqUvAZhx0b2HjJug8lQGHAUiDU8-6Zcb9Os/edit?usp=sharing
> 
> Thanks,
> Ariel
> 
> On Wed, Jan 21, 2015, at 12:40 PM, Andrew Haley wrote:
> > On 01/21/2015 05:34 PM, Ariel Weisberg wrote:
> > > If you could shed any light on what the performance should be it would
> > > help when choosing whether to use the JDK CRC32 implementation or
> > > another depending on the currently runtime.
> > 
> > Please normalize the output to bytes/s; it's very confusing.
> > 
> > Andrew.
> > 



More information about the core-libs-dev mailing list