From: E.Boivin on
Hi,
I'm back with my performance problem.
Have a look to the attached picture : if I disable the yellow part in my code, the total execution duration decrease from 2095ms to 165ms (145ms in LV7.1.1) ; this part is called 200 times and there is no other parallel task.
So it seems that the "Replace Array Subset" function consume the extra time !!!!
What do you think about this ?
Emmanuel


TRI_Perf_LV711-LV851_Disabled.png:
http://forums.ni.com/attachments/ni/170/321845/1/TRI_Perf_LV711-LV851_Disabled.png
From: Ravens Fan on
If you are moving it to LV 8.5, then the disabled yellow part could be replaced by the new In Place element structure.
From: altenbach on
E.Boivin wrote:So it seems that the "Replace Array Subset" function consume the extra time !!!!


No, it probably is  the unbundling/bundling operations. We don't know! It could be that it creates extra data copies and thrashes the memory. Do a "show buffer allocations" and look for black dots.
 
Can you attach a simplified version of your VI?
 
What happens in the other cases? Why can't you keep the 3D array in its own shift register for the duration of the loop?
 
(Your index shift register should also be initialized and I32 type).