Compile Fourier (2)
- To: mathgroup at smc.vnet.net
- Subject: [mg64877] Compile Fourier (2)
- From: Alberto Verga <Alberto.Verga at laposte.net>
- Date: Mon, 6 Mar 2006 05:01:36 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
(Please, forget my last question, the answer is in the third argument of Compile; but...) Someone could explain why the compiled version is slower than the uncompiled one in the following example? (* Compiled *) cf = Compile[{{m, _Complex, 2}}, Module[{a, b = {m}}, a = m; Do[a = a + Fourier[Re[InverseFourier[m]]]; AppendTo[b, a];, {100}]; Return[Re[b]]], {{Fourier[_], _Complex, 2}, {InverseFourier[_], _Complex, 2}}] mm = cf[Table[N[i - j], {i, 64}, {j, 64}]]; // Timing {2.654 Second, Null} (*Uncompiled*) f[m_] := Module[{a, b = {m}}, a = m; Do[a = a + Fourier[Re[InverseFourier[m]]]; AppendTo[b, a];, {100}]; Return[Re[b]]]; mmf = f[Table[N[i - j], {i, 64}, {j, 64}]]; // Timing {0.35 Second, Null} Thanks, Alberto Verga Alberto.Verga at irphe.univ-mrs.fr