NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I reduce the execution time for a step in a TestStand ?

Hi,

I calculated the a single step execution time for TestStand Ver 2.0. It comes to around 20 milliseconds/step. Can I reduce this excution time ?
Are there any settings available for configuring execution time parameters except result logging and exception handlings to reduce the execution time ?
0 Kudos
Message 1 of 3
(3,735 Views)
Hello Raju,

There is no way to control the execution time of a step. TestStand has no way of controlling how long your code module takes to execute. There are however, a couple of things you can do to eliminate some of the extra overhead involved when executing a step. Here are couple of thingsthat come to mind:

1. Disable tracing. You can do this Configure>>Station Options>>Execution and turn off the option that says "Enable Tracing"

2. You can disbable result recording for steps that you do not want results for. Right click on the step and select Properties. Then on the Run Options tab uncheck the option "Record Results".

3. You should also have your load options set to "Preload when execution begins" and your unload option set to "Unload when
seqeunce file is closed" for every step in your sequence that calls a code module. To change this option, right click on the step and select Properties. Then on the Run Options tab and chose the appropriate settings from the ring controls titled "Load Option" and "Unload Option".

The TestStand engine is focused on execution, speed, flexibility, and long-term support/compatibility. You should also note that there are a number of steps done before and after your code module executes. For a list of these refer to Table 6-5 in the TestStand User Manual. I hope this helps.
0 Kudos
Message 2 of 3
(3,735 Views)
It's difficult to tell how you what time you are reporting for your step. Clearly we don't have control of the time it takes your code to execute. However, we are constantly working on reducing the overhead of calling the code. In addition, you don't mention the type of step you are calling. One way to have a common reference is to use the example \Examples\Benchmarks\Benchmarks.seq. Below have have posted the results of running this sequence with both tracing and result collection enabled and then disabled. I have a 700 MHz, 128 MB RAM, Dell PIII laptop. In this example there is no code within the code modules. You notice that calling a DLL has the least overhead with a minimum of 7.459 ms with tracing and results enabled and 0.092 ms with tracing and results disabled. Although not included below, if I enable results be disable tracing I get a minimum time of 0.201 ms, a 100x improvement on your time.


With Results and Tracing enabled.
7.578 milliseconds per step for CVI Standard Prototype - Object File
7.579 milliseconds per step for CVI Standard Prototype - DLL
7.459 milliseconds per step for DLL Flexible Prototype
8.589 milliseconds per step for DLL Flexible Prototype Numeric Limit
9.563 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition
10.015 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition and 4 Parameters
7.868 milliseconds per step for ActiveX Automation
8.892 milliseconds per step for LabVIEW Standard Prototype


With tracing and results disabled.
0.180 milliseconds per step for CVI Standard Prototype - Object File
0.182 milliseconds per step for CVI Standard Prototype - DLL
0.092 milliseconds per step for DLL Flexible Prototype
0.178 milliseconds per step for DLL Flexible Prototype Numeric Limit
0.277 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition
0.400 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition and 4 Parameters
0.270 milliseconds per step for ActiveX Automation
1.235 milliseconds per step for LabVIEW Standard Prototype
Message 3 of 3
(3,735 Views)