hooovahh Posted September 1, 2016 Report Share Posted September 1, 2016 The LabVIEW compiler is smart, and it knows that if you are doing some operation that doesn't use the outputs (and a few other key determinators) then it won't even execute the code at all. Your case 11 isn't actually being executed. This is dead code elimination and constant folding. Updating controls is an asynchronous process, and adds a lot of jitter to measuring timing like this. That's one reason why you'll notice my code doesn't update any of the controls until after all timing values have been taken. To get a more accurate measurement you should not update or read from any control terminals inside the sequence structure. I highly recommend watching some of these NI Week videos from this last NI Week where Ed and Christian talk about performance measuring and benchmarking. https://decibel.ni.com/content/docs/DOC-48493 Quote Link to comment
russellb78 Posted September 1, 2016 Report Share Posted September 1, 2016 Thanks for the quick reply and that makes sense why some of the timing is close to zero. I will definitely go watch that video, I missed it at NI Week. I moved all of the controls and indicators outside of the sequence structure, but it didn't change the result that the speed improvements are not there when the value array indicators are present. I am still curious why this is the case? Quote Link to comment
DangerDave Posted September 30, 2016 Report Share Posted September 30, 2016 Hey guys, I’ve been working with russellb78 on a service request regarding the less noticeable improvement of IPE in his Lookup Table benchmarking VI. Outside of the strange increase in execution time when the ‘values’ output of Get Variant Attribute is not used (which we filed a CAR for), his VI doesn’t show quite the level of improvement in execution speed that others were observing. The main takeaway seems to be that the IPE’s value statement is in memory efficiency by not making copies of data. Thus, execution speed improvements are more of a side-effect and function of the extent of the memory operations being performed. Perhaps incorporating modifications in addition to reads would demonstrate further differentiation. David Randolph Applications Engineering National Instruments www.ni.com/support 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.