LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
MGiacomet

Improve Diagram Disable performance - Repost

Status: Declined

Any idea that has received less than 4 kudos within 4 years after posting will be automatically declined.

Attention NI: Please DON'T summarily close this idea as you did with this one

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Improve-Diagram-Disable-performance/idc-p/3254487#M344...

Users are still commenting!!! This is a BUG!

 

 

 

Repost:

Adding a Diagram Disable to NOT run some portions for the code should NOT increase execution time.

 

I could understand it, while running under development mode, but when building the VI into an .EXE, that's preposterous!

 

Please fix Diagram Disable so that by adding one to NOT run some code, does not increase execution time.

 

Untitled.png

12 Comments
X.
Trusted Enthusiast
Trusted Enthusiast

I have played some more with the benchmark VI above and used and posted the results in different threads here and here.

 

I am adding them here for completeness:

 


 

I created an app with the test VI I used above to test the hypothesis that putting all VIs in a root virtual folder and applying the debug off option indeed applies this within all subfolders (with possibly the exception of lvlib and class files).

 

- without debugging off option applied during the build and:

1) no disable structure

2) debugging on in the VI:

T = 124.6 +/- 4.7 ms

 

- with debugging off option applied during the build and:

1) no disable structure

2) debugging on in the VI:

T = 17.2 +/- 2.3 ms

 

- without debugging off option applied during the build and:

1) disable structure

2) debugging on in the VI:

T = 186.7 +/- 7.2 ms

 

- with debugging off option applied during the build and:

1) disable structure

2) debugging on in the VI:

T = 16.1 +/- 1.3 ms

 

Therefore it would appear that this (putting all VIs in a root virtual folder and applying the debug off option) is a valid workaround.


 

Other thread:


If you start from the test VI I used above and keep adding sequence structures (instead of disable structures), you may get results similar to the followong ones (obtained in a W7 virtual machine running on a MBP 2.3 GHz i7).

 

# empty sequence structure (SS) followed by average +/ standard deviation of iteration duration and then the difference with the previous result: 

0 SS: 127.5 +/- 6.1 ms

1 SS: 187.0 +/- 3.8 ms; 60 ms

2 SS: 247.5 +/- 2.6 ms; 60.5 ms

3 SS: 461.7 +/- 3.0 ms; 214.2 ms

 

I guess you get the idea. Since each iteration is executing the same loop 1E8 times, I conclude that adding an empty SS (or DS or probably any other object) takes at least 0.6 ns (in debug mode) but could be as high as 2 ns. Whether that matters for your application is up to you to judge.


 

Darren
Proven Zealot
Status changed to: Declined

Any idea that has received less than 4 kudos within 4 years after posting will be automatically declined.