Processes for Fluid.BufCompose~

for 8, this is not as bad as we think (compare to any of the real processes we do inside the other objects) but I have the same reflex as you (to my coding colleague’s despair) and it shows our age (computers are now so fast but we still think of optimising all the time - but as @a.harker @weefuzzy and @groma like to remind me of the first rule of optimisation: do not optimise :wink: Actually, the most eminent computer algorithmic specialist, Don Knuth, says it more elegantly:

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming .

Now, because I cannot take it out of my brains, this sum of 8 channel can be done in binary summing like this:
1+2=12
3+4=34
5+6=56
7+8=78
12+34=1234
56+78=5678
1234+5678=sum
7 operations

Your iterative option does it in 7 too
1+2=sum
sum+3
sum+4
sum+5
sum+6
sum+7
sum+8

for larger numbers it gets better but for the complexity of the code to maintain and for the difference, under a large number of channels, I would not bother and use basic iterative code… the code @weefuzzy shared has a clever trick to do the first one as a pair (which is more complex code for fun) but starting with a simple silence short ‘sum’ buffer does about the same and only adds one run…

For info, in Alpha02, I use BufCompose to do a convolution of a FIR filter - dirty and fun and quick enough not to bother. We should release soon :wink: