LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

2 suggestions for Express Collect VI

   Dear NI Development Team,
 
I used the Express Collect VI several times. There are two suggestions I would like to make:
 
1) Currently the VI appends the new data to the old data and, if the result is larger than the specified size, only the latest part of the data is kept and produced at the output. When dealing with large datasets, this creates performance issues.
 
I propose that in order to improve the performance of this VI (to avoid unnecessary requests for memory allocation), the VI should reserve an array (meaning waveform) of the specified size from the beginning. This array should be considered as a cyclic array (i.e. it is necessary to keep the index of the current position in the array). The new data should be (a) checked whether it exceeds the allocated size, and if it does, it should be cut down, (b) then this pre-cut new data should be cut (if necessary) into two sub-arrays, which should replace the appropriate sub-sets of the old (kept) data.
To output data, the two sections of the internal storege (separated by the "current position" index) should be merged.
 
NB If the new data can cover the whole allocated size, this should be considered as a special case (which will eliminate the need to cut either old or new data), saving on the memory allocation requests.
 
This approach essentially does not reduce the number of requests for memory allocation. However, it reduces the amounts of memory being requested, so that the operating system is able to "reply" quicker. My preliminary tests have shown that the ability to eliminate the memory allocation requests can speed certain applications thousands of time. Reducing the size of memory chunks being requested also improves the performance.
 
 
2) It would be very nice to have the SIZE as an input terminal. There are many applications, where the rate is unknown or needs to be changed during the run.
 
Best Regards
Albert
0 Kudos
Message 1 of 2
(2,393 Views)
Hi Albert,
 
Thank you for the suggestions.  However, the most effective way to make a suggestion to the development team is to file a product suggestion.  You can file one here:
 
 
Simply copy what you have here into the form.  This is the direct way to get in touch with our developers.  As always, feedback is welcome.  Thank you.
Brian Coalson

Software Engineer
National Instruments
0 Kudos
Message 2 of 2
(2,373 Views)