Example code performace different between VSCode and MCUExpresso IDE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Example code performace different between VSCode and MCUExpresso IDE

1,394 Views
Peter19
Contributor II

Using same example for FRDM-MCXN947 I get different output from benchmark unit test.

I assume that there are different compiler settings somewhere...

MCUXpresso FFT SDK Example (serial port)
==========================
CMSIS DSP benchmark fft test start.
arm_rfft_q15Test: 4 ms
arm_rfft_q31Test: 4 ms
arm_cfft_q15Test: 4 ms
arm_cfft_q31Test: 6 ms
arm_ifft_q15Test: 5 ms
arm_ifft_q31Test: 4 ms
arm_dct4_q15Test: 20 ms
arm_dct4_q31Test: 20 ms

CMSIS DSP benchmark fft test succeeded.


vscode FFT SDK Example (serial port)
======================
CMSIS DSP benchmark fft test start.
arm_rfft_q15Test: 4 ms
arm_rfft_q31Test: 4 ms
arm_cfft_q15Test: 5 ms
arm_cfft_q31Test: 4 ms
arm_ifft_q15Test: 5 ms
arm_ifft_q31Test: 4 ms
arm_dct4_q15Test: 44 ms
arm_dct4_q31Test: 39 ms

CMSIS DSP benchmark fft test succeeded.

 

0 Kudos
Reply
4 Replies

1,360 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello @Peter19 ,

Thank you for posting the question in the community. I did the same test and indeed found the issue you described. Please allow me more time to analyze it. If there is an update, I will let you know in time.

BR,

Celeste

0 Kudos
Reply

1,352 Views
Peter19
Contributor II

Hi

My intent was to highlight that NXP might want to make sure that choice of IDE does not affect performance on target. Both IDE's uses same toolchain and libraries and versions thereof. I would say that even the executable should be binary identical.

I am not expecting any solution for me, I am expecting NXP to shape up validation.

0 Kudos
Reply

1,203 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello Peter,

I conveyed your feedback to the IDE team. They expressed that they were glad to receive your feedback and gave the following views:

Strictly speaking, the different results between the two IDEs are unintended and hard to avoid. This is due to different build systems, potential differences between build flags used in manifest-based SDK packages and ARM GCC packages (e.g., optimization levels), different C libraries (redlib, newlib, newlib-nano), and so on. Most of the build process is controlled through the SDK manifest in the MCUXpresso IDE and CMake files in the MCUXpresso VS Code extension.

If you have any further questions or concerns, please feel free to let us know. We are always here to assist you.

Have a great day,

Celeste

0 Kudos
Reply

1,338 Views
Celeste_Liu
NXP Employee
NXP Employee

Hello @Peter19 ,

Thank you for your feedback. I appreciate you taking the time to share it. I will spend more time exploring this issue.

BR,

Celeste

0 Kudos
Reply