viSci Posted April 12, 2010 Report Share Posted April 12, 2010 Has anyone else noticed a significant increase in variant attribute performance in LV2009SP1 from LV8.6.1? In the past I had been using VA's for Current Value Table Implementations but reverted to using simple numeric arrays in LV8.6 since the array based implementation seemed to be faster. Now in LV2009SP1 the opposite is true by a wide margin (40%). Quote Link to comment
BobHamburger Posted April 12, 2010 Report Share Posted April 12, 2010 I've used VA's for the same thing -- a name/value pair lookup table -- and have similarly noticed a huge efficiency gain vs. using the Search 1D Array. Our clever friends in Austin must've implemented something cool inside the variant attribute code. Kinda makes you wonder why they didn't do the same trick with the Search 1D Array primitive. Quote Link to comment
asbo Posted April 12, 2010 Report Share Posted April 12, 2010 I've used VA's for the same thing -- a name/value pair lookup table -- and have similarly noticed a huge efficiency gain vs. using the Search 1D Array. Our clever friends in Austin must've implemented something cool inside the variant attribute code. Kinda makes you wonder why they didn't do the same trick with the Search 1D Array primitive. Citing an admittedly aged nugget (so it doesn't explain any performance gain in LV2009) VA are stored in a red-black tree so lookup is pretty speedy; arrays, on the other hand, must be searched sequentially. Quote Link to comment
Rolf Kalbermatter Posted April 17, 2010 Report Share Posted April 17, 2010 Citing an admittedly aged nugget (so it doesn't explain any performance gain in LV2009) VA are stored in a red-black tree so lookup is pretty speedy; arrays, on the other hand, must be searched sequentially. I always wished there would be a Search 1D Array that uses bisection algorithme when you know that the incoming array is actually sorted. Not sure if an optional input would be good, since someone might enable that on unsorted arrays and get of course strange results I wrote long ago my own for the most common data types but of course it doesn't adapt to the any datatype like a native function would. EDIT: Thinking about it this is not so much the Search 1D Array function but the Threshold 1D Array. Haven't checked that lately but it may use bi-sectional search now. At the time I did a lot with that function (LabVIEW 6 or so) benchmark showed that the algorithm had to be linear since the time grew linear with the index in the array where the searched threshold was. 1 Quote Link to comment
Jarrod S Posted April 19, 2010 Report Share Posted April 19, 2010 Has anyone else noticed a significant increase in variant attribute performance in LV2009SP1 from LV8.6.1? In the past I had been using VA's for Current Value Table Implementations but reverted to using simple numeric arrays in LV8.6 since the array based implementation seemed to be faster. Now in LV2009SP1 the opposite is true by a wide margin (40%). Yes, there was an improvement in LV2009 for Variant Attributes. You should see a notable performance improvement, and much better scaling adding or finding items in large sets. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.