What algorithm are you using to get data to and from the disk? The more I thought about this, the less I liked it. My previous post is only partially true. If you are doing a chunked transpose from disk to disk with small memory use, you end up being forced to use small reads and writes, which really kill your time. You would probably be better off sucking the entire thing into memory (use techniques in the tutorial referenced below to avoid copies), then writing it out again. If you can get the whole thing in memory, you can optimize for 65,000 byte chunks both in and out. Without all of it in memory, you will be forced into suboptimal read or write lengths. Make sure you allocate your in memory array once (use
Initialize Array), then use
Replace Array Subset to fill it. Repeated memory allocations are very costly in terms of time.
My experience with queues is that they are easier to use for data passing than LV2 globals, since they do not require any setup. For small data, they are up to an order of magnitude faster. For large data, it is a wash and depends on your coding skill. One extra data copy can kill you. It is easier to make no extra copies with the queue, since the queue essentially passes a pointer to the array when the element is an array (assumes the array wire is not split). Your mileage may vary... However, given my comments in the previous paragraph, a LV2 global is probably the way to go for this problem.
LabVIEW 8 takes up more space in memory and fragments memory more than LabVIEW 7.1 due to it's increased feature set. You can usually allocate a single contiguous buffer of about 1GByte in LV7.1, but only about 800MBytes in LV8.0. You can work around this issue somewhat by breaking your data into multiple arrays so LabVIEW can use the fragmented memory. A single array in LabVIEW always uses contiguous memory space. Due to a variety of reasons, you will probably never be able to use more than about 1.4GBytes on a Windows2K/XP machine, even exploiting the fragmented space. For details, see the tutorial
Managing Large Data Sets in LabVIEW.