05-19-2015 10:52 AM
YIKES!
A timing study of a simple freestanding VI that performs (C[dbl]=A[dbl}+B[dbl]), shows it takes 53 +/- 1 nSec on my computer.
If the VI is in a LVLIB, it changes nothing. Not surprising, as a LVLIB is merely a container for references.
However, the same VI when put into a PPL (*.lvlibp) takes 6850 nSec, or over 120 times the time !
That means there is 6.8 uSec of overhead in calling the thing, merely because it's in a PPL.
What the heck is going on here?
I see in the help that there is an option to have the "Callers adapt at run-time to connector pane state".
That implies some sort of checking, but dang, does that happen on each and every call?
Turning OFF that option seems to make only a slight difference.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
05-19-2015 11:24 AM
Well, never mind. I must have screwed up something in that test - I cannot reproduce those results.
Now I get 53 +/- 1 nSec regardless of whether the VI is in a PPL or not.
Blog for (mostly LabVIEW) programmers: Tips And Tricks