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

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

GitHub user HeartSaVioR opened a pull request:

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

    STORM-1731 Avoid looking up debug / backpressure enable flags within 
critical path

    This pull request is on top of STORM-1729 (#1361) to avoid merge conflicts.
    
    Even though we set topology.debug to false, we actually hit performance 
decrement at lookup flag.
    I'm curious why we didn't know about this... :(
    
    Let me summary the performance improvements with BasicTopology:
    
    || Patch || emitted/sec (around) ||
    | STORM 1.0.1-SNAPSHOT | 860,000 |
    | STORM-1729 | 940,000~960,000 |
    | STORM-1731 (including STORM-1729) | 1,500,000 ~ 1,600,000 |
    
    Nearly 2x improvement observed from the start.
    
    I measured the number with my dev. machine so numbers could be a bit 
unstable.
    I really appreciated if someone takes a benchmark with stable environment 
and stable way and posts the number.

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

    $ git pull https://github.com/HeartSaVioR/storm STORM-1731-1.x

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

    https://github.com/apache/storm/pull/1362.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 #1362
    
----
commit ae78815e6ad27e2301d80c258f4ad535fa1193ff
Author: Jungtaek Lim <[email protected]>
Date:   2016-04-26T03:53:38Z

    STORM-1729 Get rid of reflections while recording stats
    
    * define MultiCount/LatencyStatAndMetric in let statement and set type hint 
to there

commit 7a15ebc57300a027f10a65046c85e9d1d0bef4dc
Author: Jungtaek Lim <[email protected]>
Date:   2016-04-26T10:29:44Z

    STORM-1731 Avoid looking up debug / backpressure enable flags within 
critical path
    
    * preload the value of flags and use that value
      * topology.debug
      * topology.backpressure.enable
    * also remove unnecessary lookup: receive-queue

----


> Avoid looking up debug / backpressure enable flags within critical path
> -----------------------------------------------------------------------
>
>                 Key: STORM-1731
>                 URL: https://issues.apache.org/jira/browse/STORM-1731
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-core
>    Affects Versions: 1.0.0
>            Reporter: Jungtaek Lim
>            Assignee: Jungtaek Lim
>            Priority: Critical
>
> While profiling the result of STORM-1729, I also found that there're many 
> places in critical path which look up the value of flags which are not 
> updated dynamically.
> ("get from map" is on top 5 from each spout / bolt thread.)
> This should be fixed.



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

Reply via email to