Using the TestStand Seconds Function or Wait Step May Result in Incorrect Elapsed Time

Updated Nov 13, 2025

Reported In

Software

  • TestStand

Issue Details

When using TestStand Seconds(True) or Wait steps, the elapsed time may appear incorrect:

  • Seconds(True) returns a value that increases slower than actual time.
  • Wait steps take 1.5x–2x longer than specified.

This issue occurs only on some machines; others behave as expected. Both Wait steps and Seconds(True) call the Windows API QueryPerformanceCounter(), which can return inconsistent results on:

  • Multiprocessor systems
  • CPUs with variable-speed technologies (e.g., Intel SpeedStep)
  • Systems with BIOS or HAL bugs

Seconds(False) uses a different API and is not affected.

Solution

  1. Update system components:
    • BIOS
    • CPU/chipset drivers
    • Windows updates/service packs
  2. If unresolved, add the /usepmtimer switch to Boot.ini as recommended by Microsoft KB 895980.
    Note: Incorrect Boot.ini changes can make the system unbootable. Back up critical data first.

Additional Information

Microsoft reports this issue on some AMD systems running Windows 2000/XP/Server 2003, but it can also affect Intel CPUs. The workaround has resolved issues for both.