Hi Helper,
Each time the while loop iterates, the FOR loop will allocate enough memory to handle what it thinks it will need. To say much more at this point would require I know the internal workings of the LV 6.0.2 compiler. I am sorry that I cannot be of more help.
The opinions I have expressed are based on some simple bench-mark VI's that I wrote. They were written to compare the performance of the different methods.
To convince yourself that you are using the most efficient method I would stongly urge you put together a quick VI that campares the performance under the conditions you expect in your app. The basic structure of the bench-mark programs was implemented using a number of single frame seq structures. An outline
follows;
Get time in seconds
1st For loop with first method executes X times.
Get time in seconds
2nd For loop with the second method executes X times.
Get time in seconds
Figure out how long 1st for loop took, divide by X.
Figure out how long 2nd for loop took, divide by X.
If you do this make sure you are really comparing apples to apples. What goes in each of the "for loops" should be functionally identical to make sure multi-threading does not throw-off the numbers.
Just trying to help,
Ben