2
2
3
3
set -Eeuo pipefail
4
4
5
- if [[ " $# " -ne 3 ]]
5
+ if [[ " $# " -ne 2 ]]
6
6
then
7
- echo " Usage: $0 <n-lower-bound> <n-upper-bound> <iters >"
8
- exit 1
7
+ echo " Usage: $0 <n-lower-bound> <n-upper-bound>"
8
+ exit 1
9
9
fi
10
10
11
11
start=$1
12
12
end=$2
13
- iters= $3
13
+ max_iters=1000 # Set your desired maximum number of iterations
14
14
15
15
OUTPUT_DIR=benchmark-data.$( date +" %Y.%m.%d.%H-%M-%S" )
16
16
mkdir -p " $OUTPUT_DIR " /fftw3 && mkdir " $OUTPUT_DIR " /rustfft && mkdir " $OUTPUT_DIR " /phastft
17
17
18
+
18
19
benchmark_fftw3 () {
19
20
make clean && make
20
21
21
22
for n in $( seq " $start " " $end " ) ; do
22
- echo " Running FFTW3 benchmark for N = 2^${n} ..." && \
23
+ # clamp to `max_iters`
24
+ iters=$(( 2 ** ($end - $n )) )
25
+ iters=$(( iters > max_iters ? max_iters : iters))
26
+ echo " Running FFTW3 benchmark for N = 2^${n} for ${iters} iterations..."
27
+
23
28
for _ in $( seq 1 " $iters " ) ; do
24
- ./bench_fftw " ${n} " >> " ${OUTPUT_DIR} " /fftw3/size_" ${n} "
29
+ ./bench_fftw " ${n} " >> " ${OUTPUT_DIR} /fftw3/size_${n} "
25
30
done
26
31
done
27
32
}
@@ -30,7 +35,10 @@ benchmark_phastft() {
30
35
cargo clean && cargo build --release --examples
31
36
32
37
for n in $( seq " $start " " $end " ) ; do
33
- echo " Running PhastFT benchmark for N = 2^${n} ..." && \
38
+ iters=$(( 2 ** ($end - $n )) )
39
+ iters=$(( iters > max_iters ? max_iters : iters))
40
+ echo " Running PhastFT benchmark for N = 2^${n} ..."
41
+
34
42
for _ in $( seq 1 " $iters " ) ; do
35
43
../target/release/examples/benchmark " ${n} " >> " ${OUTPUT_DIR} " /phastft/size_" ${n} "
36
44
done
@@ -41,7 +49,10 @@ benchmark_rustfft() {
41
49
cargo clean && cargo build --release --examples
42
50
43
51
for n in $( seq " $start " " $end " ) ; do
44
- echo " Running RustFFT benchmark for N = 2^${n} ..." && \
52
+ iters=$(( 2 ** ($end - $n )) )
53
+ iters=$(( iters > max_iters ? max_iters : iters))
54
+ echo " Running RustFFT benchmark for N = 2^${n} ..."
55
+
45
56
for _ in $( seq 1 " $iters " ) ; do
46
57
../target/release/examples/rustfft " ${n} " >> " ${OUTPUT_DIR} " /rustfft/size_" ${n} "
47
58
done
0 commit comments