Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8191328

Avoid unnecessary overhead in CRC32C

    Details

    • Type: Enhancement
    • Status: New
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: core-libs
    • Labels:

      Description

      Pure Java implementation of java.util.CRC32C does branching by ByteOrder.nativeOrder() inside main loop. In some circumstances it may cost ~30% of time. E.g. I used to see it on x86 and aarch64 with

      -XX:DisableIntrinsic=_updateBytesCRC32C -Xcomp

      Those branches can be moved out of loops without bloating class code.

      This may help the case then Hotspot intrinsic is disabled, missing for the platform or then it is some other VM.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dchuyko Dmitry Chuyko
                Reporter:
                dchuyko Dmitry Chuyko
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: