# Effect of having multiple throttle in a chain of flowgraph

**URL:** <https://www.ruby-forum.com/t/effect-of-having-multiple-throttle-in-a-chain-of-flowgraph/216283>\
**Category:** GNU Radio\
**Created:** [January 31, 2012, 11:42pm UTC](https://www.ruby-forum.com/t/effect-of-having-multiple-throttle-in-a-chain-of-flowgraph/216283 "2012-01-31T23:42:10Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [January 31, 2012, 11:42pm UTC](https://www.ruby-forum.com/t/effect-of-having-multiple-throttle-in-a-chain-of-flowgraph/216283/1 "2012-01-31T23:42:10Z")

</div>

Hi,

I would like to ask what happen if there are many block of throttle  
connected between a source and a sink in pure simulation? I notice the  
GUI  
Interface (wxgui) is getting slow when 5 throttle block is connected  
between a signal source and signal probe sink.

| Signal Block | —\> | Throttle | —\> | Throttle | —\> | Throttle | —\>  
| WX GUI Scope Sink |

---

<div class="post-metadata">

**Author:** ![SSSSS\_SSSS\_SSSSS\_SS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/977dab/32.png) [@SSSSS\_SSSS\_SSSSS\_SS](https://www.ruby-forum.com/u/SSSSS_SSSS_SSSSS_SS)\
**Post date:** [February 1, 2012, 11:31pm UTC](https://www.ruby-forum.com/t/effect-of-having-multiple-throttle-in-a-chain-of-flowgraph/216283/2 "2012-02-01T23:31:00Z")

</div>

On Tue, Jan 31, 2012 at 5:41 PM, محمد روسلي [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> –  
> Regards,  
> Muhammad b Rosli

It’s never been tested because there’s really no reason to ever do it.  
You  
only need one block that rate limits the flow graph. The throttle block  
only exists if you are running things in simulation or without any real  
hardware that controls the flow of data. It’s keeps the system from  
consuming all of your CPU; especially useful when using GUIs.

Never use more than one rate-limiting block in your flowgraph.

Tom

---

<div class="post-metadata">

**Author:** ![SSSSS\_SSSS\_SSSSS\_SS](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/977dab/32.png) [@SSSSS\_SSSS\_SSSSS\_SS](https://www.ruby-forum.com/u/SSSSS_SSSS_SSSSS_SS)\
**Post date:** [February 1, 2012, 11:42pm UTC](https://www.ruby-forum.com/t/effect-of-having-multiple-throttle-in-a-chain-of-flowgraph/216283/3 "2012-02-01T23:42:42Z")

</div>

On 1/31/12 5:41 PM, wrote:

> Hi,
> 
> I would like to ask what happen if there are many block of throttle  
> connected between a source and a sink in pure simulation? I notice the  
> GUI Interface (wxgui) is getting slow when 5 throttle block is connected  
> between a signal source and signal probe sink.
> 
> | Signal Block | —\> | Throttle | —\> | Throttle | —\> | Throttle |  
> —\> | WX GUI Scope Sink |

The GUI slowing down is understandable. You’re doing a lot of extra  
work for nothing. As Tom said, you only need one rate-limiting block  
per flowgraph.

In addition to the extra work, you’re introducing a lot of extra latency  
for no reason, because each interface introduces another 32k sample  
buffer. This becomes particularly noticeable at low sample rates.

For example, at a sample rate of 9.6k, each 32k buffer introduces an  
additional 3.1 SECONDS of latency! (1.04 ms/sample x 32k samples).

@(^.^)@ Ed
