Hi Julius,

I tried to come up with a minimal example, and came to the conclusion 
that it's not any particular piece of dsp that is at fault, but it's 
just that the compiler gets slow with elaborate constructions.

Since originally the stable filters where suspect, I tested with my 
classicVocoder.dsp, which has 2 or 3 high passes and many bandpasses.

All of them can be switched for unstable ones by setting a variable in 
lib/constants.lib  to 0 and recompiling.

In the same file, you can set the number of bands the vocoder has.
Note: Changing the nrBands only changes how many of everything we have, 
it's the same dsp.



To duplicate my experiment, do:

git clone https://github.com/magnetophon/VoiceOfFaust.git

or, if you already have it, git checkout master.

cd VoiceOfFaust
cp lib/smallConstants.lib lib/constants.lib


all testing is done with:
faust2jack -t 99999 -time -osc -vec  classicVocoder.dsp


with nrBands = 4 and stableFilters 1, classicVocoder.dsp compiles in 40s
so there is no problem with stableFilters or the way it's used here.

with nrBands = 32 and stableFilters = 0, it takes 2min40,which makes sense, 
cause it's doing a lot more work.
so a high number of bands is also no problem.

with nrBands = 16 and stableFilters = 1, it takes 2min05
so no problem with medium nr of bands and stable filters either

but then:
with nrBands = 32 and stableFilters = 1, we're looking at 7min50!

to show that the problem is also not necessarily in stableFilters or high 
number of bands:
cp lib/bigConstants.lib lib/constants.lib
It has nrBands = 16, stableFilters = 0, but lot's of other features turned on, 
and takes 6min25

To give a bit of context on how big the resulting dsp's are:
with bigConstants iit takes 24% cpu at runtime, and with smallConstants 
with nrBands changed to 32 takes about the same.

Unfortunately, the version that I'd like to use, bigConstants with 16 bands and 
stableFilters, takes 3 hours and 51 minutes to compile,
even though it uses no more than 20% of my RAM.
It uses 31% CPU at runtime.

For my entry in the Faust Awards, I have 9 different of these beasts, so
it'd be nice if they could compile quicker! ;)


Many thanks,
Bart.


On Wed, Jun 15, 2016 at 04:14:08PM -0700, Julius Smith wrote:
>Hi Bart,
>
>Actually I am on the master branch.
>
>6 minutes is still very long for a compile time!  If any minimized
>example takes more than a few seconds to compile, I would like to
>drill down into that.  We need that minimized example.
>
>As I mentioned earlier, there appeared to be a circular dependency in
>the Evaluation phase for the compiler.  However, something had to have
>terminated the evaluation, so maybe infinite recursion is not a
>possible explanation?
>
>- Julius
>
>
>On Wed, Jun 15, 2016 at 1:55 AM, Bart Brouns <b...@magnetophon.nl> wrote:
>> Hi Julius,
>>
>> Looks like you are using faust 2, right?
>>
>> I built the latest faust 1 to reproduce your issue, and got 12 min compile
>> time for the stable highpass and 6 min for the regular one.
>>
>> Faust 2.0-a41 gives me a huge RAM usage and endless build time.
>>
>> I'm  unable to build Faust 2 from git because my distro only provides .so
>> libs for llvm, while Faust looks for .a libs.
>>
>> Thanks,
>> Bart.
>>
>>
>> On Tue, Jun 14, 2016 at 09:08:40PM -0700, Julius Smith wrote:
>>>
>>> I tried
>>>
>>> highpassStable(N,fc) = highpass(N,fc);
>>>
>>> and it still compiles forever
>>
>>
>>
>
>
>
>-- 
>Julius O. Smith III <j...@ccrma.stanford.edu>
>Professor of Music and, by courtesy, Electrical Engineering
>CCRMA, Stanford University
>http://ccrma.stanford.edu/~jos/

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to