[ 
https://issues.apache.org/jira/browse/ACCUMULO-3079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Fuchs updated ACCUMULO-3079:
---------------------------------

    Attachment: iterator_performance_20140822_1.patch

Attached is a preliminary patch that results in about 50% performance 
improvements for long scans of small entries (~10 bytes). It still needs a bit 
of cleanup, but it is representative of the desired improvements.

> improve system iterator performance by collapsing call stack
> ------------------------------------------------------------
>
>                 Key: ACCUMULO-3079
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3079
>             Project: Accumulo
>          Issue Type: Improvement
>            Reporter: Adam Fuchs
>             Fix For: 1.6.1, 1.7.0
>
>         Attachments: iterator_performance_20140822_1.patch
>
>
> 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:
>  # Inlining calls that are hard for the JVM to inline at runtime
>  # Moving checks for null outside of tight loops when they are invariants 
> within the loop
>  # Eliminating "no-op" iterators at iterator tree construction time
>  # Making frequently used and assigned-once objects final (like iterator 
> sources)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to