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

ASF GitHub Bot commented on STORM-585:
--------------------------------------

GitHub user fmazoyer opened a pull request:

    https://github.com/apache/storm/pull/343

    Performance improvement: Fix for 
https://issues.apache.org/jira/browse/STORM-585

    Hello, this fix helped us gain a sizable amount of performances in 
none:grouping.
    Details are in JIRA https://issues.apache.org/jira/browse/STORM-585
    Thanks a lot for your help :-)

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

    $ git pull https://github.com/fmazoyer/storm STORM-585

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

    https://github.com/apache/storm/pull/343.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 #343
    
----
commit 6270fc02938393eba91dbe6f313ad28d09fb92a1
Author: Frantz Mazoyer <[email protected]>
Date:   2014-12-09T10:07:53Z

    Fix for https://issues.apache.org/jira/browse/STORM-585

----


> Performance issue in none grouping
> ----------------------------------
>
>                 Key: STORM-585
>                 URL: https://issues.apache.org/jira/browse/STORM-585
>             Project: Apache Storm
>          Issue Type: Bug
>    Affects Versions: 0.9.2-incubating, 0.9.3, 0.10.0, 0.9.3-rc2
>            Reporter: Frantz Mazoyer
>            Assignee: Frantz Mazoyer
>            Priority: Minor
>             Fix For: 0.10.0
>
>
> In function mk-grouper, target-tasks is originally a ^List
> It then becomes a clojure vector:
> ...
> target-tasks (vec (sort target-tasks))]
> ...
> In :none grouping case, java method '.get' is called on target-tasks object:
> ...
>             (.get target-tasks i)
> ...
> At run time, clojure will use introspection to find a method with a matching 
> name and signature, which is very costly.
> Using clojure built-in vector 'get' function instead of '.get' method made us 
> gain 25% performance in our use-case. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to