01-13-2015 06:52 PM
I tried searching for this but too many false positives involving debugging an exe, or the same old line about code running faster in IDE without it checked.
But does this option being on/off for individual VI's affect the efficiency/speed of a built application?
Sorry if I'm asking a dumb question, but I've never actually seen this specific question answered.
01-13-2015 07:08 PM - edited 01-13-2015 07:15 PM
Enabling debugging limits the amoutn of compiler optimisations of your code. Disabling debugging for any VI will improve the performance of any CPU-bound activities. I found this fairly basic description that also describes ways of customising optimisation:
http://zone.ni.com/reference/en-XX/help/371361J-01/lvhowto/compiler_optimizing_for_execution_speed/
Obviously the efficiency increases depend entirely on the actual code being compiled. You can always profile your own code (VIs) to see the performance change.
EDIT: I should point out that the Enabled Debugging feature is for VIs themselves, not the built application. When you enable this feature for a build, you are effectively telling the Application Builder "Ignore what I have specified for each VI - I want to Enable Debugging on them regardless".
https://lavag.org/topic/14151-build-specification-enable-debugging/
01-13-2015 07:20 PM
Thanks for the reply, I had actually forgotten about that page.
I should have specified, I meant the "Allow debugging" option in the source code of the VI, not referring to any option in a build specification.
01-13-2015 07:28 PM - edited 01-13-2015 07:29 PM
@Ben_Phillips wrote:
Thanks for the reply, I had actually forgotten about that page.
I should have specified, I meant the "Allow debugging" option in the source code of the VI, not referring to any option in a build specification.
I should probably also remind you of the default storage setting for a VI - both the source and compiled code for a VI are stored in the same file (seperate compiled code alters this behaviour but is disabled by default). This is different than other languages where the source and built files are completely seperate entities. This means that Enabling debugging for a VI affects the compiled code stored in the VI file for any development environment that executes it.