How to measure code execution time in VBScript or JavaScript? How to measure code execution time in VBScript or JavaScript? javascript javascript

How to measure code execution time in VBScript or JavaScript?


For VBScript you can use Timer:

StartTime = Timer()EndTime = Timer()Response.Write("Seconds to 2 decimal places: " & FormatNumber(EndTime - StartTime, 2))

Or ASP Profiler (that is for an ASP environment.)

For JavaScript you can use Date:

var start = new Date().getTime()alert("Milliseconds: " + (new Date().getTime() - start))

Firebug also has a profiler for JavaScript.


For JavaScript, I would recommend you to use a profiler, like the one built-in in Firebug:

alt text
(source: getfirebug.com)

Other alternatives can be the one included with Google Chrome, or IE8

If you want to do it programmatically, you could use Date objects to get a time difference:

var startTime = new Date();// ...// ...var endTime = new Date();var delta = endTime - startTime; // difference in milliseconds


Found the perfect function with proper Hours/Mins/Secs formatting here: https://social.technet.microsoft.com/wiki/contents/articles/633.vbscript-determine-script-execution-time.aspx

Usage:

dtmStartTime = TimerWscript.Echo "Hello, World!"Wscript.Sleep 1000Wscript.Echo "Script completed in " & GetElapsedTime

Function:

Function GetElapsedTime    Const SECONDS_IN_DAY    = 86400    Const SECONDS_IN_HOUR   = 3600    Const SECONDS_IN_MINUTE = 60    Const SECONDS_IN_WEEK   = 604800    dtmEndTime = Timer    seconds = Round(dtmEndTime - dtmStartTime, 2)    If seconds < SECONDS_IN_MINUTE Then        GetElapsedTime = seconds & " seconds "        Exit Function    End If    If seconds < SECONDS_IN_HOUR Then         minutes = seconds / SECONDS_IN_MINUTE        seconds = seconds MOD SECONDS_IN_MINUTE        GetElapsedTime = Int(minutes) & " minutes " & seconds & " seconds "        Exit Function    End If    If seconds < SECONDS_IN_DAY Then        hours   = seconds / SECONDS_IN_HOUR        minutes = (seconds MOD SECONDS_IN_HOUR) / SECONDS_IN_MINUTE        seconds = (seconds MOD SECONDS_IN_HOUR) MOD SECONDS_IN_MINUTE        GetElapsedTime = Int(hours) & " hours " & Int(minutes) & " minutes " & seconds & " seconds "        Exit Function    End If    If seconds < SECONDS_IN_WEEK Then        days    = seconds / SECONDS_IN_DAY        hours   = (seconds MOD SECONDS_IN_DAY) / SECONDS_IN_HOUR        minutes = ((seconds MOD SECONDS_IN_DAY) MOD SECONDS_IN_HOUR) / SECONDS_IN_MINUTE        seconds = ((seconds MOD SECONDS_IN_DAY) MOD SECONDS_IN_HOUR) MOD SECONDS_IN_MINUTE        GetElapsedTime = Int(days) & " days " & Int(hours) & " hours " & Int(minutes) & " minutes " & seconds & " seconds "        Exit Function    End IfEnd Function