Normally introducing a sub-VI is trouble-free and as you say it's
better to arrange the code that way. If the code is to be called
repeatedly (thousands of times) and it all needs to finish as fast as
possible the accumulated overhead introduced can get significant and
you must skip the sub-VI.
Hi Glen,
Could it be that you're updating indicators on the main VI panel
through references in the sub-vi? I know LV does this automatically
sometimes when you make a sub-vi out of an existing piece of code and
as far as I know uses a lot of CPU time...
Even still, 10 times slower is really a
Sorry, to see the differences in performance, set the speed switch
to the left position. Then compare how quickly the X-axis increments.
The one without the sub vi goes more than 10,000 points in a second.
While the one with the sub vi does more like 1,000.
I could not notice any speed difference. If the one without sub-VI is
set to full speed then yes the one with sub-VI will slow down because
the other one is taking all the CPU time, however that works the other
way around too (if you set the sub-VI type to full speed first).
I have a question about performance. I created a VI that creates
some dummy waveforms, does some processing to them, and displays the
results. Pretty basic. I decided to simplify the Vi by putting all of
the processing algorithms into a sub vi. When I did this the VI slowed
OK, I feel like I finally understand what is going on here, and it is
a bit of a wierd one. It has very little to do with the subVI except
that the subVI reorganizes the code and provokes this.
The outer loop is running quite fast and the case structure's contents
run very rarely and have little