accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-3079) improve system iterator performance by collapsing call stack
Date Mon, 25 Aug 2014 14:51:58 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-3079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14109161#comment-14109161
] 

Josh Elser commented on ACCUMULO-3079:
--------------------------------------

bq. The test code from ACCUMULO-3067 is what lead me to the improvements.

Ok, cool.

bq. I also have a very simple test harness that isolates and measures performance of the system
iterators that I will attach here.

Awesome, thank you.

bq. Let me know if you think there's a better place for this performance test code to go.

It's hard to write code that automatically catches regressions, but perhaps, with adequate
documentation of releases, we could track expected performance numbers and at least improve
the odds of not shipping big performance decreases. Anything that is (relatively) easily runnable
with documentation how to do so would be great.

> 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
>            Assignee: 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)

Mime
View raw message