LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Buffer Allocation at Case Input Tunnel?

I am passing a (brown) cluster into a case structure.
I noticed that there is a buffer allocation on the tunnel.
That means it creates a copy of the cluster in memory.
 
Can anyone explain the following questions:
 
1) Why does there have to be an allocation (by definition only one case can run)?
2) If I wire the cluster through all cases why doesn't the allocation go away?
3) What does "create a copy of the cluster " mean? I would assume that it's actually a pointer, but my experieince tells me that it is actually copy the ENTIRE contents of the cluster over. Very Bad in this case.
 
Thanks.
0 Kudos
Message 1 of 4
(2,918 Views)

Please post some code for us to look at.

I'd like to see this myself and if I can explain it, I will.

If I can't I'll try to get you an answer or report as a bug if appropriate.

Thank you,

Ben

Excellent posting you are about to make Putnam.

Message Edited by Ben on 02-21-2007 02:41 PM

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 2 of 4
(2,907 Views)
What version of LabVIEW are you using? Can you attach an image of what you are seeing (not in .bmp format, please) or better yet a snippet of code showing the problem/question?

Thanks,
Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



Message 3 of 4
(2,903 Views)


@10Things wrote:
1) Why does there have to be an allocation (by definition only one case can run)?
2) If I wire the cluster through all cases why doesn't the allocation go away?
3) What does "create a copy of the cluster " mean? I would assume that it's actually a pointer, but my experieince tells me that it is actually copy the ENTIRE contents of the cluster over. Very Bad in this case.

I tested In LabVIEW 8.0 and see the same thing IF:

  1. one of the cases modifies the cluster OR
  2. the cluster exits on the other end, the output tunnel is set to "use defaults if unwired", and some cases are not wired.
  3. ... possible other untested scenarios...

If I don't modify the cluster (e.g. just unbundle and read an element) and wire the cluster in all cases to the output tunnel, there is no extra allocation.

I'm not sure why it has to be that way, but I am no expert here. 😉

 

Message 4 of 4
(2,893 Views)