Measure-Command

 

Additional Resources for Measure-Command

 

Timing How Long it Takes a Script or Command to Run

http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/measure-command.mspx

 

 

SYNOPSIS

Measures the time it takes to run script blocks and cmdlets.

 

SYNTAX

Measure-Command [-expression] <scriptblock> [-inputObject <psobject>] [<CommonParameters>]

 

DETAILED DESCRIPTION

The Measure-Command cmdlet runs a script block or cmdlet internally, times the execution of the operation, and returns the execution time.

 

PARAMETERS

 

-expression <scriptblock>

Specifies the expression that is being timed. Enclose the expression in curly braces ({}). The parameter name ("Expression") is optional.

 

Required?

true

Position?

1

Default value

 

Accept pipeline input?  

false

Accept wildcard characters? 

false

 

-inputObject <psobject>

Specifies an object that represents an expression. Enter a variable that contains the objects or type a command or expression that gets the objects.

 

Required?

false

Position?

named

Default value

any object in pipeline

Accept pipeline input?  

true (ByValue)

Accept wildcard characters? 

false

 

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. For more information, type, "get-help about_commonparameters".

 

INPUT TYPE

object

 

RETURN TYPE

time object

 

For more information, type "Get-Help Measure-Command -detailed". For technical information, type "Get-Help Measure-Command -full".

 

When specifying multiple values for a parameter, use commas to separate the values. For example, "<parameter-name> <value1>, <value2>".

 

EXAMPLE 1

 

Measure-Command { get-eventlog }

 

This command measures the time it takes to run a " get-eventlog" command.

 

EXAMPLE 2

 

measure-command {get-childitem c:\windows -include *.txt -recurse}

 

measure-command {get-childitem c:\windows -filter "*.txt" -recurse}

 

These commands show the value of using a provider-specific filter in Windows PowerShell commands. The first command measures the time it takes to process a recursive Get-Childitemcommand that uses the Include parameter. The second command measures the time it takes to process a recursive Get-Childitem command that uses the provider-specific Filter parameter.

 

measure-command {get-childitem c:\windows -include *.txt -recurse}

 

Days  : 0

Hours : 0

Minutes   : 0

Seconds   : 8

Milliseconds  : 618

Ticks : 86182763

TotalDays : 9.9748568287037E-05

TotalHours: 0.00239396563888889

TotalMinutes  : 0.143637938333333

TotalSeconds  : 8.6182763

TotalMilliseconds : 8618.2763

 

measure-command {get-childitem c:\windows -filter "*.txt" -recurse}

 

Days  : 0

Hours : 0

Minutes   : 0

Seconds   : 1

Milliseconds  : 140

Ticks : 11409189

TotalDays : 1.32050798611111E-05

TotalHours: 0.000316921916666667

TotalMinutes  : 0.019015315

TotalSeconds  : 1.1409189

TotalMilliseconds : 1140.9189

 

RELATED LINKS

Trace-Command

Invoke-Expression