I would not expect that big of a difference in the amount of time to
process 64-bit versus 32-bit input data.  Something else may be afoot
here. - Julius

On Tue, Mar 20, 2018 at 3:42 PM, CrocoDuck o'Ducks
<crocoduck.odu...@gmail.com> wrote:
> Hi guys,
>
> I think I probably found what was wrong.
>
> So, I used the -t 0 option and it worked, but it took a really huge time to
> compile (almost a hour I think).
>
> I did some tests and I don't see any problem with fi.fir(), it supports very
> large lists.
>
>
> The fact that your times are as so much smaller than mine made me think. I
> upgraded to 2.5.23 (that's the latest on Arch repos), but same issue. I was
> about to try to build the last version but then I realised that my Julia
> code was dumping Float64 literals into the Faust source code. However, I got
> the impression that Faust wants C++ float literals, which should be kinda
> equivalent to Julia's Float32, while C++ double should be sort of like
> Julia's Float64. What suggested that to me is that I could see the numbers
> notated with f in few (not related) compiler errors.
>
> So, I modified my Julia code to convert the FIR taps to Float32 before
> writing them down in the .dsp files. Now it compiles quite fast, a bunch of
> seconds.
>
> So, I guess that I was dropping numbers with too high precision into the
> Faust source code, and then the compiler was spending a ton of time to
> convert them. Is it plausible?
>
>
> On Tue, 20 Mar, 2018 at 7:28 PM, Julius Smith <j...@ccrma.stanford.edu>
> wrote:
>
> 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
>
>
> ------------------------------------------------------------------------------
> 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

Reply via email to