Мелкозернистый таймер для измерения производительности VBScript - PullRequest
5 голосов
/ 08 марта 2011

Я делаю некоторые измерения производительности в VBScript.Я хочу измерить, насколько быстро работает мой алгоритм

t1 = Now()  
doAlotOfWork ()  
t2 = Now()  
MsgBox "Operation took " & DateDiff ("s", t1, t2)  & " seconds."

Это дает мне время в секундах.Если один алгоритм приводит к времени выполнения 1 секунда, а другой к 2 секундам, это вряд ли даст мне какую-либо полезную информацию.Мне нужно взорвать размер задачи до чего-то, что займет минуту.

Кто-нибудь знает способ выполнения таких измерений в VBScript, но затем более детализированный.Например, вводит миллисекунды.

У меня такое ощущение, что в WMI должно быть решение.

Ответы [ 2 ]

7 голосов
/ 08 марта 2011

Вы можете использовать функцию Таймер VBScript , чтобы получить истекшее время в миллисекундах:

Функция таймера возвращает число секунд и миллисекунд, так как 12:00.

1 голос
/ 11 января 2013

Если вы работаете в HP QuickTest Pro, вам доступны еще два метода:

Таймеры выдадут результат (в миллисекундах), который вы можете сохранить в переменной

MercuryTimers("timerName").Start
Wait 2
Msgbox "Time is ticking..."
MercuryTimers("timerName").Stop
Msgbox "Elapsed time is: " & MercuryTimers("timerName").Elapsedtime & " milliseconds"

Время транзакций отображается в результатах / отчете QTP

Services.StartTransaction "transactionName"
Wait 2
Msgbox "Time is ticking..."
Services.EndTransaction "transactionName"
...