01-24-2012 07:09 PM
I'm trying to get reports working suitably in TestStand 2010 for a project that I'm wokring on. (It's been disabled due to speed problems.)
I have a subsequence that I'm using as a timing standard (roughly 100 steps that set parameters). I'm writing the time to an StationGlobal array for each time it's run (average, min, max).
I have Unchecked "Reports" in all of our library subsequences below the top level. I had hoped that with this done, that the report functions on the low level steps would be completely ignored (they are not included in the reports).
Without reports enabled the subsequence runs 12 seconds consistently.
With reports enabled, the same subsequence runs 40 seconds consistently.
I've tried both ascii and html reports. No difference in speed.
Options:
Disable Result Recording for All Sequences is of course unchecked.
Report Options "Disable Report Generation" is unchecked, Filtering is "All Results"
"On-The-Fly Reporting" is enabled.
DLL (Faster, but does not call Modify Report Entry callbacks) is selected.
Report File Path is to a set directory.
Model Options "Discard Results or Disable Results When Not Required by Model" is checked.
Not using Data Base
Is there anything else that I can do the speed up the execution?
With the steps running this slow I run into realtime timing issues with my tests.
Mike
01-25-2012 10:56 AM
Hey Mike,
Here is a Developers Zone that goes over the best practices for optimizing your TestStand Sequence. http://zone.ni.com/devzone/cda/tut/p/id/7559#toc4
One quick note, "On-the-Fly Reporting" will greatly reduce your performance/speed of execution speed, if this is required for your application the Developers Zone does describe how you can optimize the Reporting to mitigate that reduction in performance.
01-26-2012 08:10 AM
BeauH,
Thanks for the reply. I'll go through the link that you sent me. I do need some more understanding on the TSOTFRG stuff.
However, I did some more digging in our libraries and found several low level functions that didn't have the "Report Result" unchecked (must be called quite often!). Even though they are not reported, the fact that the check is there, causes some reporting to be started, but then, I'm sure, thrown away.
My benchmark subsequence changes from 12 to 13.7 seconds (average). I think that I have the problem solved. I should be able to roll the reporting changes out to the group today.
Thanks,
Mike
01-26-2012 08:30 AM
Dont forget, even though steps may not have the Record Results unchecked, the actual sequence maybe set to 'not record result for all steps' in the sequence properties. I wonder, does the steps still get recorded but are discarded on return from the Sequence Call.