Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-3079

improve system iterator performance by collapsing call stack

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      System iterators are at the core of the tightest loops in Accumulo, handling every key/value pair that traverses through a scan or a compaction. In many cases, iterators are the current performance bottleneck for Accumulo. Every bit that we can improve performance in the iterators translates into better performance for Accumulo.

      There are several strategies that can be applied to the current code base to improve performance, including:

      1. Inlining calls that are hard for the JVM to inline at runtime
      2. Moving checks for null outside of tight loops when they are invariants within the loop
      3. Eliminating "no-op" iterators at iterator tree construction time
      4. Making frequently used and assigned-once objects final (like iterator sources)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                milleruntime Michael Miller
                Reporter:
                afuchs Adam Fuchs
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 12.5h
                  12.5h