RFR :7088419 : (L) Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32 and java.util.zip.Adler32

Doug Lea dl at cs.oswego.edu
Fri May 17 13:55:02 UTC 2013

A quick note while travelling...

>> [*] In JDK 8 the Arrays.parallelSort methods use an array length
>> threshold of 2^13, arrays <= to that length will be sorted sequentially
>> and arrays > than will be sorted in parallel. IIUC the threshold was
>> chosen to ensure that Arrays.parallelSort is ~ the same as or faster
>> than Arrays.sort.
> I picked a threshold for 512K for slow CRC and 1M for Adler and fast CRC,
> in a conservative approximation of the same reasoning.

The 8K threshold in sort is in part to avoid memory contention
across threads, especially for Object/Reference sort, but also
overhead vs throughput tradeoffs. For CRC, my offhand guess is
that something closer to 64K would be close to optimal on
most machines. Perhaps Aleksey and friends could supply a
threshold vs throughput plot on a few machines?


More information about the core-libs-dev mailing list