LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Small program occupying lots of memory


@crossrulz wrote:

Christian, look at the VI again.  Y is a 2D array of doubles, along with circ.  We can't actually tell what the blue 2D array's data type is based on the picture (data type is defined with a constant).


Well, yes, if we assume that this was done by a sane programmer. However, looking at the rest of the code I had my doubts. 😄

We don't know the size of "circ", it could be any size (even empty) even thought most optimally, it should be matched to the size of Y. Don't forget "Phase in", which optimally should also be of that size.

We only know that the blue array is not I16 (because there is a coercion dot when mixed with the array from the "boolean to 0,1", but again since the programmer was not very representation aware (;)), I assumed I32 because that's the default representation for a blue integer diagram constant. 😉

 

If all orange 2D arrrays are 800x800, I would be surprised if the VI in memory is only <10MB. Something does not add up.


@crossrulz wrote:

Are we talking about actual memory (RAM) or the space on disk?  9.7MB makes perfect sense for space on disk since 800*800*8*2 gives us 9.7MB.


That's why I asked how he measures the size. (size on disk vs. size in memory. The post title says "memory"!). VIs are compressed on disk, so the size might be significantly smaller than the size in memory. "circ" might just be a circular mask (wildly guessing) consisting of only zeroes and ones, which would compress very well.

Yes, for a full analysis, we need to see the VI and have some typical data for all the controls.

 

0 Kudos
Message 11 of 11
(124 Views)