> I think [complexity] info should be added in the library documentation.
+1 - Julius On Tue, Mar 20, 2018 at 5:26 AM, Stéphane Letz <l...@grame.fr> wrote: > ba.take ==> complexity O(n^2) > > I think that this kind of info should be added in the library documentation. > > And also as a general rule in the « Contributing » section of > https://github.com/grame-cncm/faustlibraries/blob/master/README.md, to push > library writers to document this kind of things. > > Stéphane > > >> Le 20 mars 2018 à 04:32, Yann Orlarey <orla...@grame.fr> a écrit : >> >> HI, >> >> I did some tests and I don't see any problem with fi.fir(), it supports very >> large lists. Here is the test file I used: >> >> // ------- fir500.dsp ------ >> >> import("stdfaust.lib"); >> >> process = fi.fir(( >> 1,2,3,4,5,6,7,8,9,10, >> ...48 copies... >> 1,2,3,4,5,6,7,8,9,10)); >> >> //--------------------------------- >> >> time faust fir500.dsp -o /dev/null >> >> real 0m0.446s >> user 0m0.375s >> sys 0m0.030s >> >> >> If instead, I use the second code you mentioned >> >> // ------- fur500.dsp ------ >> >> import("stdfaust.lib"); >> >> fur(coeffs) = _ <: par(i, 500, @(i) * ba.take(i + 1, coeffs)) :> _; >> >> process = fur(( >> 1,2,3,4,5,6,7,8,9,10, >> ...48 copies... >> 1,2,3,4,5,6,7,8,9,10)); >> >> //--------------------------------- >> >> The compilation will take a very long time because ba.take() is really not >> the way to go in this case (complexity O(n^2)). Here are the results I get: >> >> time faust fur500.dsp -o /dev/null >> >> real 1m18.270s >> user 1m16.947s >> sys 0m0.900s >> >> The difference is enormous (x170)! >> >> If in your case you don't see any difference of performances between the >> two, then there is a problem with the fi.fir implementation you are using. >> >> Can you try with the latest version of Faust (version 2.5.25)? >> >> Cheers >> >> Yann >> >> >> >> >> >> 2018-03-19 15:01 GMT-07:00 Oliver Larkin via Faudiostream-users >> <faudiostream-users@lists.sourceforge.net>: >> depending on what faust version you are using, a foreign function might >> help. I had to do this to do a convolution in my tambura synthesiser for >> exactly the same reason >> >> https://github.com/olilarkin/Tambura/blob/master/bridgeIR.dsp >> >> https://github.com/olilarkin/Tambura/blob/master/bridgeIR.h >> >> >> it would be great if faust’s FIR didn’t bork like this >> >> oli >> >> >>> On 19 Mar 2018, at 21:32, CrocoDuck o'Ducks <crocoduck.odu...@gmail.com> >>> wrote: >>> >>> Hi again! >>> >>> Thank you for all your tips! >>> >>>> I suggest placing all of your coefficients into a large parallel signal >>>> bank: >>>> >>>> coeffs = (b0, b1, b2, ..., b511); // FIR filter coefficients for length 512 >>>> >>>> and then use par() etc. >>> >>> I tried both of these: >>> >>> process = fi.fir(coeffs); >>> >>> process = _ <: par(i, 512, @(i) * ba.take(i + 1, coeffs)) :> _; >>> >>> Which, unfortunately, both suffer from the same problem. Did I got the >>> suggestion right? >>> >>>> You can set unlimited time by adding >>>> -t 0 >>>> to your compile command. >>> >>> I am currently trying this. >>> >>>> Interesting ! Do you have some code to show? Is is part of an official >>>> JULIA ==> Faust project? >>> >>> No, it isn't an official project. I just design some filters using DSP.jl >>> then I try to generate Faust code that implements them. I just open a file >>> for writing and I fill it with Faust code. I guess I can cook a few minimal >>> examples to share, I cannot share my code right away as it is sort of >>> confidential. >>> >>> On Mon, 19 Mar, 2018 at 8:20 AM, Stéphane Letz <l...@grame.fr> wrote: >>>> >>>> Le 18 mars 2018 à 23:06, CrocoDuck o'Ducks <crocoduck.odu...@gmail.com >>>> > a écrit : >>>> >>>> Hi there! >>>> >>>> I currently have some Julia code producing 512 taps for an FIR filter. >>>> >>>> >>>> Interesting ! Do you have some code to show? Is is part of an official >>>> JULIA ==> Faust project? >>>> >>>> Stéphane >>>> >>> ------------------------------------------------------------------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org! >>> http://sdm.link/slashdot_______________________________________________ >>> Faudiostream-users mailing list >>> Faudiostream-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Faudiostream-users mailing list >> Faudiostream-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! >> http://sdm.link/slashdot_______________________________________________ >> Faudiostream-users mailing list >> Faudiostream-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/faudiostream-users > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users -- Julius O. Smith III <j...@ccrma.stanford.edu> Professor of Music and, by courtesy, Electrical Engineering CCRMA, Stanford University http://ccrma.stanford.edu/~jos/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users