Jump to content
viSci

Variant Attribute Performance

Recommended Posts

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%).

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.