Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Fix Version/s: 2.0.1
    • Component/s: Core
    • Labels:
      None

      Description

      Currently getting data to and from offheap is slow due to individual calls to getByte() and putByte()

      The following patch makes this a single call and is 10x faster

      benchmark:
           [java]  0% Scenario{vm=java, trial=0, benchmark=GetBytesOld} 82266.48 ns; σ=2532.87 ns @ 10 trials
           [java] 50% Scenario{vm=java, trial=0, benchmark=GetBytesNew} 7876.95 ns; σ=489.78 ns @ 10 trials
           [java]
           [java]   benchmark    us linear runtime
           [java] GetBytesOld 82.27 ==============================
           [java] GetBytesNew  7.88 ==
           [java]
           [java] vm: java
           [java] trial: 0
      
      1. memperf.txt
        1 kB
        T Jake Luciani
      2. memfix.txt
        1.0 kB
        T Jake Luciani

        Activity

        T Jake Luciani created issue -
        T Jake Luciani made changes -
        Field Original Value New Value
        Attachment memperf.txt [ 12597753 ]
        T Jake Luciani made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        T Jake Luciani made changes -
        Description Currently we getting data to and from offheap is slow due to individual calls to getByte() and putByte()

        The following patch makes this a single call and is 10x faster

        {code}
        benchmark:
             [java] 0% Scenario{vm=java, trial=0, benchmark=GetBytesOld} 82266.48 ns; σ=2532.87 ns @ 10 trials
             [java] 50% Scenario{vm=java, trial=0, benchmark=GetBytesNew} 7876.95 ns; σ=489.78 ns @ 10 trials
             [java]
             [java] benchmark us linear runtime
             [java] GetBytesOld 82.27 ==============================
             [java] GetBytesNew 7.88 ==
             [java]
             [java] vm: java
             [java] trial: 0
        {code}
        Currently getting data to and from offheap is slow due to individual calls to getByte() and putByte()

        The following patch makes this a single call and is 10x faster

        {code}
        benchmark:
             [java] 0% Scenario{vm=java, trial=0, benchmark=GetBytesOld} 82266.48 ns; σ=2532.87 ns @ 10 trials
             [java] 50% Scenario{vm=java, trial=0, benchmark=GetBytesNew} 7876.95 ns; σ=489.78 ns @ 10 trials
             [java]
             [java] benchmark us linear runtime
             [java] GetBytesOld 82.27 ==============================
             [java] GetBytesNew 7.88 ==
             [java]
             [java] vm: java
             [java] trial: 0
        {code}
        T Jake Luciani made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Reviewer jbellis
        Resolution Fixed [ 1 ]
        T Jake Luciani made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        T Jake Luciani made changes -
        Attachment memfix.txt [ 12597946 ]
        T Jake Luciani made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            T Jake Luciani
            Reporter:
            T Jake Luciani
            Reviewer:
            Jonathan Ellis
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development