09-15-2006 08:42 AM
09-15-2006 08:57 AM
hi there
i assume because the lower solution (the slow one) invokes the memory manager (a 2D array is created by autoindexing). then the upper "replace array subset" is called 4 x 62 = 248 times, the lower 512 times.
09-15-2006 08:59 AM
09-15-2006 09:08 AM
each time you create a (new) array the memory manager is called, this happens when you "create" a 1D array from the 2D array and when you create the 2D array from the 1D array (see attachment).
btw: calling memory manager may inhibit determinism on RT platforms.
09-15-2006 09:13 AM
Thank you for your help. I've been slowly learning just how slow the memory manager in RT actually is. I've even asked for a new RT feature. I'd like a way for RT to cause an error (like a broken wire or similar) during editing whenever you do anything that will call the memory manager, and I want this precisely because doing that destroys determinism on the RT system.
Thanks again. I'm now on the hunt through my program to find any auto-indexing.
Lee Jay
09-15-2006 09:21 AM
you may also take a look at this:
http://zone.ni.com/devzone/conceptd.nsf/webmain/3ef39f7bc420236b862569a80078b9ed
http://zone.ni.com/devzone/conceptd.nsf/webmain/732CEC772AA4FBE586256A37005541D3
as far as i remember there's also some information about memory managment at the RT LabVIEW help files