Accumulo
  1. Accumulo
  2. ACCUMULO-3079

improve system iterator performance by collapsing call stack

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 1.8.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)

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Adam Fuchs
              Reporter:
              Adam Fuchs
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development