03-01-2006 04:19 AM
Hi,
Why does LV8 use 3 times more memory than LV7?
When I load my main vi in LV7 it labview uses 300Mb in taskmanager, hwen I load that same vi in LV8 it uses 1Gb. In my main vi I have 50 copyes of 1 reentrant vi. I am running the same vi 50 times in parallel and it works fine in lv7.
The time to load the vi in lv8 is increasing from seconds to over 30 minutes.
Is there any way to avoid this huge memory usage?
Rune
03-01-2006 11:48 AM
03-02-2006 05:10 AM
Thanks for the suggestion
Mass compiling of my application makes no difference.
03-02-2006 09:59 AM
03-03-2006 01:40 AM
03-03-2006 10:01 AM
03-06-2006 08:01 AM
03-06-2006 08:11 AM
Hi,
Using the re-entrant option was not as easy as I first think and I think there is some major change from lv7 to lv8.
My starting point was an application ment for testing one transducer and turning this to test 50 transducers at same time to reduce production time.
It looks like if you want a vi to be fully re-entrant all his sub vi must be re-entrant as well. So if your vi has 1 sub vi that is used 10 times and you want to run 20 copies of your vi re-entrant LabView will generate 200 copies of your sub vi.
I think this combined with the new futures to debug reentrat vi’s is the answer to my huge memory usage. Note that there is a difference between lv codes and sub vi’s. I replaced one of my sub vi (see attatched vi) with its code and get rid of 250 Mb memory. And as I wrote this I come to think of the enable debug mode in execution dialog under vi properties, and I was right by disable this even more memory was relived. The enable debugging is enabled by default when entering the re-entrant mode, perhaps not so smart?
So now I am down to 290Mb of memory usage.
Rune
03-06-2006 08:34 AM