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

Add loop variant to certain benchmarks

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 24
    • core-libs
    • None

      In order to compare specially coded methods compared to simple loops, we should add a looping base case. As we foresee better and better C2/Graal performance, the loop ones could hopefully improve over time. Also, some tests could be improved by adding more comments.


      test/micro/org/openjdk/bench/java/lang/foreign/LoopOverPollutedBuffer.java
      test/micro/org/openjdk/bench/java/lang/foreign/LoopOverPollutedSegments.java
      -> load / store / reduction --- why are they named "polluted"?

      test/micro/org/openjdk/bench/java/lang/foreign/LoopOverRandom.java
      -> some form of gather loop, but with an non-inlined call --- why?

      test/micro/org/openjdk/bench/java/lang/foreign/LoopOverSlice.java
      -> with some wrappers, do Element::get on each - what do you expect here, could that be optimized away completely (empty loop)?

      test/micro/org/openjdk/bench/java/lang/foreign/MemorySegmentZeroUnsafe.java
      -> fill (unsafe and MemorySegment) -- why not normal loop for auto-vectorizer?

      test/micro/org/openjdk/bench/java/lang/foreign/SegmentBulkCopy.java
      -> copy -- why no loop version?

      test/micro/org/openjdk/bench/java/lang/foreign/SegmentBulkFill.java
      - fill -- has loop version

      test/micro/org/openjdk/bench/java/lang/foreign/SegmentBulkHash.java
      - polynomial reduction -- has loop version

      test/micro/org/openjdk/bench/java/lang/foreign/SegmentBulkMismatch.java
      - mismatch (cmp 2 segments) -- why no loop version? - would be nice to test if-conversion

            pminborg Per-Ake Minborg
            pminborg Per-Ake Minborg
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: