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

----


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to