[GitHub] accumulo pull request #241: Discussion of Adam's ACCUMULO-3079: iterator sta...

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo pull request #241: Discussion of Adam's ACCUMULO-3079: iterator sta...

ctubbsii
GitHub user milleruntime opened a pull request:

    https://github.com/apache/accumulo/pull/241

    Discussion of Adam's ACCUMULO-3079: iterator stack collapsing to improve performance

    Applied the changes from the patch submitted by Adam Fuchs on [ACCUMULO-3079](https://issues.apache.org/jira/browse/ACCUMULO-3079) to master.  This PR is to bring these changes back into discussion.  
   
    Questions for discussion: Do we want all/some of these changes? Should we leave WrappingIterator alone?  Could some of these changes be more widely used across the other iterators/filters?
   
    I also included the performance tests (MikeTest) I used to measure the improvements; testStack was Adam's from JIRA ticket and testScan1 was one I wrote to use the new RFile interface. The improvements don't seem to be as drastic as Adam saw against 1.6 but I was able to consistently measure a 15% increase in the average number of scans per second.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/milleruntime/accumulo ACCUMULO-3079-all

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/accumulo/pull/241.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #241
   
----
commit ef3e7dae2ffea2278a665423dd93d09e3cc83638
Author: Mike Miller <[hidden email]>
Date:   2017-03-31T16:43:45Z

    ACCUMULO-3079: collapsed the iterator stack to improve performance

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo issue #241: Discussion of Adam's ACCUMULO-3079: iterator stack coll...

ctubbsii
Github user phrocker commented on the issue:

    https://github.com/apache/accumulo/pull/241
 
    @milleruntime Shouldn't a discussion of this nature come with profiler output instead of making changes based on a ticket that's full of "Feels?"


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo issue #241: Discussion of Adam's ACCUMULO-3079: iterator stack coll...

ctubbsii
In reply to this post by ctubbsii
Github user milleruntime commented on the issue:

    https://github.com/apache/accumulo/pull/241
 
    @phrocker I don't quite follow you... Do you know of a test profiler I could use to measure function calls?  


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo issue #241: Discussion of Adam's ACCUMULO-3079: iterator stack coll...

ctubbsii
In reply to this post by ctubbsii
Github user joshelser commented on the issue:

    https://github.com/apache/accumulo/pull/241
 
    > Do you know of a test profiler I could use to measure function calls?
   
    JMH (http://openjdk.java.net/projects/code-tools/jmh/) and Caliper (https://github.com/google/caliper) might be two that you want to explore for performing micro-benchmarks.
   
    Looking at JVM debug (seeing inlining, etc) would also be helpful in understanding this one.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo issue #241: Discussion of Adam's ACCUMULO-3079: iterator stack coll...

ctubbsii
In reply to this post by ctubbsii
Github user milleruntime commented on the issue:

    https://github.com/apache/accumulo/pull/241
 
    Ok thanks!  I will get some better benchmarks for these changes and if there are improvements, then discuss.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo pull request #241: Discussion of Adam's ACCUMULO-3079: iterator sta...

ctubbsii
In reply to this post by ctubbsii
Github user milleruntime closed the pull request at:

    https://github.com/apache/accumulo/pull/241


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|

[GitHub] accumulo issue #241: Discussion of Adam's ACCUMULO-3079: iterator stack coll...

ctubbsii
In reply to this post by ctubbsii
Github user joshelser commented on the issue:

    https://github.com/apache/accumulo/pull/241
 
    This is a good starting point for what I meant by "JVM debug" earlier, too. https://techblug.wordpress.com/2013/08/19/java-jit-compiler-inlining/
   
    Please do ask questions :) This rabbit hole gets pretty deep, as well.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---