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

improve system iterator performance by collapsing call stack

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 2.0.0
    • None
    • 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

              milleruntime Michael Miller
              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