Browse Source

Bench: fft vs jit

benchmark-fft
Christoph Ruegg 10 years ago
parent
commit
69e133e9c1
  1. 10
      src/Benchmark/Transforms/FFT.cs

10
src/Benchmark/Transforms/FFT.cs

@ -11,15 +11,17 @@ namespace Benchmark.Transforms
{
readonly Dictionary<int, Complex[]> _data = new Dictionary<int, Complex[]>();
[Params(32, 64, 128, 1024, 8192, 65536)]
// 64=1.5ms, 128=2.9ms, 2048=46.4ms, 8192=185.8ms, 65536=1.5s, 524288=11.9s (44.1 kHz)
//[Params(32, 64, 128, 1024, 2048, 4096, 8192, 65536, 1048576)]
[Params(128, 1024, 1048576)]
public int N { get; set; }
public FFT()
{
var realSinusoidal = Generate.Sinusoidal(65536, 32, -2.0, 2.0);
var imagSawtooth = Generate.Sawtooth(65536, 32, -20.0, 20.0);
var realSinusoidal = Generate.Sinusoidal(1048576, 32, -2.0, 2.0);
var imagSawtooth = Generate.Sawtooth(1048576, 32, -20.0, 20.0);
var signal = Generate.Map2(realSinusoidal, imagSawtooth, (r, i) => new Complex(r, i));
foreach (var n in new[] { 32, 64, 128, 1024, 8192, 65536 })
foreach (var n in new[] { 32, 64, 128, 1024, 2048, 4096, 8192, 65536, 1048576 })
{
var s = new Complex[n];
Array.Copy(signal, 0, s, 0, n);

Loading…
Cancel
Save