Poul-Erik Hansen

K70 DSP benchmark test

Discussion created by Poul-Erik Hansen on Jul 22, 2014

I have made the following benchmark test on a TWR-K70F120M board.

I have used the ARM CMSIS DSP library.

I have used the IAR Embedded Workbench 7.20.

 

Used if you can Poul-Erik.

 

 

freescale TWR-MK70F120M: ARM cortex M4 120 MHz

 

 

 

----------------------------------------------------------------------------------------

  Function           Time used/vector   input type                   vector length

- arm_mult_f32         -  0.775 us ; // real float32                    8

- arm_mult_f32         -  4.340 us ; // real float32                   64

- arm_mult_f32         - 15.000 us ; // real float32                  256

- arm_mult_f32         - 59.400 us ; // real float32                 1024

 

- arm_mult_q31         -  0.950 us ; // real q31                        8

- arm_mult_q31         -  5.280 us ; // real q31                       64

- arm_mult_q31         - 16.467 us ; // real q31                      256

- arm_mult_q31         - 64.800 us ; // real q31                     1024

 

- arm_mult_q15         -  0.680 us ; // real q15                        8

- arm_mult_q15         -  3.500 us ; // real q15                       64

- arm_mult_q15         - 11.000 us ; // real q15                      256

- arm_mult_q15         - 43.200 us ; // real q15                     1024

 

----------------------------------------------------------------------------------------

  Function           Time used/sample   input type

- sin                  -  0.880 us ; // real float32

- arm_sin_f32          -  0.480 us ; // real float32

- arm_sin_q31          -  0.393 us ; // real q31_t

- arm_sin_q15          -  0.286 us ; // real q15_t

- arm_sin_cos_f32      -  1.250 us ; // real float32

- arm_sin_cos_q31      -  1.910 us ; // real q31_t

- cos                  -  0.885 us ; // real float32

- arm_cos_f32          -  0.513 us ; // real float32

- arm_cos_q31          -  0.420 us ; // real q31_t

- arm_cos_q15          -  0.328 us ; // real q15_t

 

----------------------------------------------------------------------------------------

  Filter type          Time used/sample    input type           Taps Samples

- arm_fir_f32          -  3.080 us ; //   real float32           20      1

- arm_fir_f32          -  0.910 us ; //   real float32           20     20

- arm_fir_f32          -  0.673 us ; //   real float32           20     40

- arm_fir_f32          -  0.650 us ; //   real float32           20     80

 

- arm_fir_f32          -  5.280 us ; //   real float32           40      1

- arm_fir_f32          -  1.620 us ; //   real float32           40     20

- arm_fir_f32          -  1.155 us ; //   real float32           40     40

- arm_fir_f32          -  1.125 us ; //   real float32           40     80

 

- arm_fir_f32          -  9.840 us ; //   real float32           80      1

- arm_fir_f32          -  3.210 us ; //   real float32           80     20

- arm_fir_f32          -  2.183 us ; //   real float32           80     40

- arm_fir_f32          -  2.144 us ; //   real float32           80     80

 

- arm_fir_q31          -  4.680 us ; //   real q31_t             20      1

- arm_fir_q31          -  3.190 us ; //   real q31_t             20     20

- arm_fir_q31          -  3.150 us ; //   real q31_t             20     40

- arm_fir_q31          -  3.112 us ; //   real q31_t             20     80

 

- arm_fir_q31          -  8.333 us ; //   real q31_t             40      1

- arm_fir_q31          -  6.033 us ; //   real q31_t             40     20

- arm_fir_q31          -  5.933 us ; //   real q31_t             40     40

- arm_fir_q31          -  5.911 us ; //   real q31_t             40     80

 

- arm_fir_q31          - 15.800 us ; //   real q31_t             80      1

- arm_fir_q31          - 11.700 us ; //   real q31_t             80     20

- arm_fir_q31          - 11.550 us ; //   real q31_t             80     40

- arm_fir_q31          - 11.500 us ; //   real q31_t             80     80

 

- arm_fir_fast_q31     -  6.240 us ; //   real q31_t             20      1

- arm_fir_fast_q31     -  0.885 us ; //   real q31_t             20     20

- arm_fir_fast_q31     -  0.785 us ; //   real q31_t             20     40

- arm_fir_fast_q31     -  0.729 us ; //   real q31_t             20     80

 

- arm_fir_fast_q31     - 11.440 us ; //   real q31_t             40      1

- arm_fir_fast_q31     -  1.520 us ; //   real q31_t             40     20

- arm_fir_fast_q31     -  1.330 us ; //   real q31_t             40     40

- arm_fir_fast_q31     -  1.237 us ; //   real q31_t             40     80

 

- arm_fir_fast_q31     - 21.800 us ; //   real q31_t             80      1

- arm_fir_fast_q31     -  2.770 us ; //   real q31_t             80     20

- arm_fir_fast_q31     -  2.417 us ; //   real q31_t             80     40

- arm_fir_fast_q31     -  2.244 us ; //   real q31_t             80     80

 

- arm_fir_q15          -  2.640 us ; //   real q15_t             20      1

- arm_fir_q15          -  0.945 us ; //   real q15_t             20     20

- arm_fir_q15          -  0.905 us ; //   real q15_t             20     40

- arm_fir_q15          -  0.885 us ; //   real q15_t             20     80

 

- arm_fir_q15          -  4.178 us ; //   real q15_t             40      1

- arm_fir_q15          -  1.650 us ; //   real q15_t             40     20

- arm_fir_q15          -  1.585 us ; //   real q15_t             40     40

- arm_fir_q15          -  1.560 us ; //   real q15_t             40     80

 

- arm_fir_q15          -  7.333 us ; //   real q15_t             80      1

- arm_fir_q15          -  3.058 us ; //   real q15_t             80     20

- arm_fir_q15          -  2.958 us ; //   real q15_t             80     40

- arm_fir_q15          -  2.817 us ; //   real q15_t             80     80

 

- arm_fir_fast_q15     -  2.700 us ; //   real q15_t             20      1

- arm_fir_fast_q15     -  0.423 us ; //   real q15_t             20     20

- arm_fir_fast_q15     -  0.385 us ; //   real q15_t             20     40

- arm_fir_fast_q15     -  0.367 us ; //   real q15_t             20     80

 

- arm_fir_fast_q15     -  4.560 us ; //   real q15_t             40      1

- arm_fir_fast_q15     -  0.690 us ; //   real q15_t             40     20

- arm_fir_fast_q15     -  0.635 us ; //   real q15_t             40     40

- arm_fir_fast_q15     -  0.606 us ; //   real q15_t             40     80

 

- arm_fir_fast_q15     -  8.333 us ; //   real q15_t             80      1

- arm_fir_fast_q15     -  1.230 us ; //   real q15_t             80     20

- arm_fir_fast_q15     -  1.133 us ; //   real q15_t             80     40

- arm_fir_fast_q15     -  1.075 us ; //   real q15_t             80     80

 

----------------------------------------------------------------------------------------

  Filter type                       Time used/sample    input type           sections Samples

- arm_biquad_cascade_df1_f32        -  0.924 us ; //   real float32_t          1      1

- arm_biquad_cascade_df1_f32        -  0.195 us ; //   real float32_t          1     20

- arm_biquad_cascade_df1_f32        -  0.178 us ; //   real float32_t          1     40

- arm_biquad_cascade_df1_f32        -  0.170 us ; //   real float32_t          1     80

 

- arm_biquad_cascade_df1_f32        -  1.536 us ; //   real float32_t          2      1

- arm_biquad_cascade_df1_f32        -  0.377 us ; //   real float32_t          2     20

- arm_biquad_cascade_df1_f32        -  0.350 us ; //   real float32_t          2     40

- arm_biquad_cascade_df1_f32        -  0.336 us ; //   real float32_t          2     80

 

- arm_biquad_cascade_df1_f32        -  2.067 us ; //   real float32_t          3      1

- arm_biquad_cascade_df1_f32        -  0.553 us ; //   real float32_t          3     20

- arm_biquad_cascade_df1_f32        -  0.520 us ; //   real float32_t          3     40

- arm_biquad_cascade_df1_f32        -  0.502 us ; //   real float32_t          3     80

 

- arm_biquad_cascade_df1_fast_q31   -  1.690 us ; //   real q31_t              1      1

- arm_biquad_cascade_df1_fast_q31   -  0.382 us ; //   real q31_t              1     20

- arm_biquad_cascade_df1_fast_q31   -  0.347 us ; //   real q31_t              1     40

- arm_biquad_cascade_df1_fast_q31   -  0.330 us ; //   real q31_t              1     80

 

- arm_biquad_cascade_df1_fast_q31   -  2.850 us ; //   real q31_t              2      1

- arm_biquad_cascade_df1_fast_q31   -  0.740 us ; //   real q31_t              2     20

- arm_biquad_cascade_df1_fast_q31   -  0.683 us ; //   real q31_t              2     40

- arm_biquad_cascade_df1_fast_q31   -  0.655 us ; //   real q31_t              2     80

 

- arm_biquad_cascade_df1_fast_q31   -  4.000 us ; //   real q31_t              3      1

- arm_biquad_cascade_df1_fast_q31   -  1.095 us ; //   real q31_t              3     20

- arm_biquad_cascade_df1_fast_q31   -  1.015 us ; //   real q31_t              3     40

- arm_biquad_cascade_df1_fast_q31   -  0.975 us ; //   real q31_t              3     80

 

- arm_biquad_cascade_df1_q31        -  1.076 us ; //   real q31_t              1      1

- arm_biquad_cascade_df1_q31        -  0.205 us ; //   real q31_t              1     20

- arm_biquad_cascade_df1_q31        -  0.180 us ; //   real q31_t              1     40

- arm_biquad_cascade_df1_q31        -  0.169 us ; //   real q31_t              1     80

 

- arm_biquad_cascade_df1_q31        -  1.647 us ; //   real q31_t              2      1

- arm_biquad_cascade_df1_q31        -  0.383 us ; //   real q31_t              2     20

- arm_biquad_cascade_df1_q31        -  0.347 us ; //   real q31_t              2     40

- arm_biquad_cascade_df1_q31        -  0.332 us ; //   real q31_t              2     80

 

- arm_biquad_cascade_df1_q31        -  2.220 us ; //   real q31_t              3      1

- arm_biquad_cascade_df1_q31        -  0.563 us ; //   real q31_t              3     20

- arm_biquad_cascade_df1_q31        -  0.512 us ; //   real q31_t              3     40

- arm_biquad_cascade_df1_q31        -  0.493 us ; //   real q31_t              3     80

 

----------------------------------------------------------------------------------------

  Type                   Time used         input type                   length

- arm_cfft_radix2_q15  -   40.8 us ; // real q15_t                         64

- arm_cfft_radix2_q15  -  199.0 us ; // real q15_t                        256

- arm_cfft_radix2_q15  -  940.0 us ; // real q15_t                       1024

 

- arm_cfft_radix2_q31  -  119.6 us ; // real q31_t                         64

- arm_cfft_radix2_q31  -  608.3 us ; // real q31_t                        256

- arm_cfft_radix2_q31  - 2970.0 us ; // real q31_t                       1024

 

- arm_cfft_radix2_f32  -   62.5 us ; // real float32_t                     64

- arm_cfft_radix2_f32  -  327.0 us ; // real float32_t                    256

- arm_cfft_radix2_f32  - 1615.0 us ; // real float32_t                   1024

 

- arm_cfft_radix4_q15  -   28.5 us ; // real q15_t                         64

- arm_cfft_radix4_q15  -  150.5 us ; // real q15_t                        256

- arm_cfft_radix4_q15  -  755.0 us ; // real q15_t                       1024

 

- arm_cfft_radix4_q31  -   74.6 us ; // real q31_t                         64

- arm_cfft_radix4_q31  -  411.7 us ; // real q31_t                        256

- arm_cfft_radix4_q31  - 2100.0 us ; // real q31_t                       1024

 

- arm_cfft_radix4_f32  -   41.0 us ; // real float32_t                     64

- arm_cfft_radix4_f32  -  221.0 us ; // real float32_t                    256

- arm_cfft_radix4_f32  - 1110.0 us ; // real float32_t                   1024

 

----------------------------------------------------------------------------------------

Original Attachment has been moved to: DSP_pre_test.zip

Outcomes