10-19-2026 05:48 AM
Hi all,
For some time now, I’ve been optimising a project that requires more efficient use of resources. This led me to have some queries regarding the handling of IPES in large clusters.
Firstly, a bit of context:
One of the VIs I optimised is as follows:
This resulted in the following VI (corrections or suggestions are welcome 😁😞
If the ‘index’ control is empty, I pass the value of the ‘active line ref’ control directly to the cluster of the class, as follows:
At the moment, VI Analyzer isn’t generating any IPES recommendations for me, but according to NI’s documentation on memory management, it’s recommended to use IPES whenever a cluster is to be manipulated. I understand that I am performing a manipulation here… So, this raises the following questions:
Thanks in advance!
10-19-2026 05:55 AM
Hi adriortz,
@adriortz.lvproj wrote:
At the moment, VI Analyzer isn’t generating any IPES recommendations for me, but according to NI’s documentation on memory management, it’s recommended to use IPES whenever a cluster is to be manipulated. I understand that I am performing a manipulation here… So, this raises the following questions:
- Is there a risk that the compiler will create a copy in memory when using a ‘Bundle By Name’ instead of an IPES in this case?
- Is it equally correct to use a ‘Bundle By Name’ as an IPES in this case?
IMHO the BundleByName already works "in place" as the compiler clearly knows which reference it needs to overwrite in the cluster.
10-19-2026 10:41 AM
One thing worth checking is whether the VI actually shows a performance or memory issue before changing the code just to use IPES. As GerdW mentioned, Bundle By Name can often be handled in place by the compiler. If you're working with large clusters, comparing memory usage and execution performance before and after the change could help confirm whether IPES makes any real difference in this case.