This repeated buffer only applies to signals sent inside that subpatch, and signals sent out with the [s~ ] object. (i didn&#39;t test throw~, but i would guess it&#39;s the same)<br><br>if you just use an [outlet~] object, the buffer is not repeated. <br>
<br>see attached test patch if you don&#39;t believe me.<br><br><br><br><br><div class="gmail_quote">On Fri, Dec 2, 2011 at 12:17 AM, Jaime Oliver <span dir="ltr">&lt;<a href="mailto:jaime.oliver2@gmail.com">jaime.oliver2@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">&gt; [inlet~]     [inlet]<br>
&gt; |            |<br>
&gt; |            [switch~ ]<br>
&gt; |<br>
&gt; [outlet~]<br>
<br>
Besides clicking problems which you might not care about, If you send a zero to switch~ while there is still audio in the buffer you&#39;ll get the buffer repeated over and over. This is why I use both a *~ AND a switch~.<br>

<br>
Best,<br>
<br>
J<br>
<div class="HOEnZb"><div class="h5">&gt;<br>
&gt;<br>
&gt; Let&#39;s call this abstraction [gate~ ]. It turned out to work as supposed.<br>
&gt; But is [gate~] really cheaper than [*~ ]? I made a test by connecting<br>
&gt; lots of [gate~]s to a chain and measure the CPU usage. For simplicity<br>
&gt; reason, let&#39;s just use an invented arbitrary unit for expressing the CPU<br>
&gt; time (ct) consumed by an object. It turned out that [gate~] uses 0.52ct<br>
&gt; when it is on and 0.4ct when it is off. But how much does [*~ ] use? No<br>
&gt; matter whether turned on or off, [*~ ] uses a stable 0.39ct.<br>
&gt;<br>
&gt; The relatively complex multiplication is _not_ more expensive than the<br>
&gt; on/off implementation with [switch~ ]. Even when turned off, the<br>
&gt; [switch~] approach is still more expensive.<br>
&gt;<br>
&gt; But the really interesting finding comes now. [*~ 0] has only 0.2ct!<br>
&gt; Almost the the ct value of a plain [*~ ] halved! It also doesn&#39;t matter<br>
&gt; what value the argument has. The plain fact of specifying an argument<br>
&gt; makes [*~ ] a lot cheaper. I also tested [/~ ], [+~ ] and [-~ ] and the<br>
&gt; same applies for those. They all have 0.39ct without argument and only<br>
&gt; 0.2ct with an argument specified. Depending on the kind of patch, this<br>
&gt; allows for quite a significant performance improvement.<br>
&gt;<br>
&gt; I also measured the ct of a [*~ ] when a signal wire is connected to the<br>
&gt; right inlet. It costs exactly as much (0.39ct) as when sending messages<br>
&gt; to the right inlet of a [*~ ] without argument.<br>
&gt;<br>
&gt; My interpretation is that [*~ 0] and [*~ ] are two different objects.<br>
&gt; The latter always performs a calculation with two signals and implicitly<br>
&gt; converts a message on the right inlet to a signal, where the former<br>
&gt; really only deals with messages on the right inlet (and thus is<br>
&gt; cheaper).<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On a completely different note, I wanted to know if it costs anything to<br>
&gt; have signals entering and leaving subpatches and abstractions a lot,<br>
&gt; respectively if [inlet~] and [outlet~] add some overhead in CPU time. I<br>
&gt; chained tens of thousands subpatches together and it seems that does not<br>
&gt; consume any additional CPU time at all. The values for [inlet~ ] and<br>
&gt; [outlet~] are much below 0.01ct. I haven&#39;t tested the cost, when more<br>
&gt; than one signal wire are going to an [inlet~], though.<br>
&gt;<br>
&gt; Roman<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; <a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
&gt; UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
</div></div></blockquote></div><br>