[ 
https://issues.apache.org/jira/browse/STORM-3205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Joseph Evans resolved STORM-3205.
----------------------------------------
    Resolution: Fixed

Thanks [~roshan_naik],

 

I merged this to master.

> Optimization in TuplImpl
> ------------------------
>
>                 Key: STORM-3205
>                 URL: https://issues.apache.org/jira/browse/STORM-3205
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-client
>    Affects Versions: 2.0.0
>            Reporter: Roshan Naik
>            Assignee: Roshan Naik
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.0.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Wrapping {{TuplImpl.values}} with Collections.unmodifiableList() turns out be 
> very expensive. Its intention is obviously to check and prevent accidental 
> tweaking TuplImpl once created. Given the high cost, if needed, we can limit 
> this extra checking mechanism in debug/dev mode. Being in the critical path 
> it means several thousand/million additional allocations per second of the 
> List wrapper object .... proportional to the number of bolt/spout instances.
> *TVL :*
> | |throughput (k/sec)|cores|mem (mb)|
> |*master (#f5a410ba3)*|412 |4.26|103|
> |*storm-3205*|547  (+33%)|4.09|132|
> {{+cmd:+ bin/storm jar topos/storm-loadgen-2.0.0-SNAPSHOT.jar 
> org.apache.storm.loadgen.ThroughputVsLatency *--rate 550000* --spouts 1 
> --splitters 3 --counters 2 -c topology.acker.executors=0}}
> *+ConstSpoutIdentityBoltNullBolt :+*
> | |throughput|
> |*master*|4.25 mill/sec|
> |*storm-3205*|5.4 mill/sec (+27%)|
> +cmd+: {{bin/storm jar topos/storm-perf-2.0.0-SNAPSHOT.jar 
> org.apache.storm.perf.ConstSpoutIdBoltNullBoltTopo -c 
> topology.acker.executors=0 -c topology.producer.batch.size=1000 400}}
> *Note:* The perf gains are more evident when operating at high thoughputs w/o 
> backpressure occurring (i.e. some bolts have not yet become a bottleneck)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to