API Reference
Command
Invoke-BenchmarkSuite
Runs a reusable PowerShell benchmark suite.
Remarks
Runs a reusable PowerShell benchmark suite.
Examples
Run a benchmark spec
Invoke-BenchmarkSuite -Path .\Benchmarks\module.benchmark.ps1
Common Parameters
This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.
For more information, see about_CommonParameters.
Syntax
Invoke-BenchmarkSuite [-Case <String[]>] [-Cleanup <Always|KeepOnFailure|KeepAlways>] [-CooldownMilliseconds <Int32>] [-Engine <String[]>] [-ExternalHostTimeoutSeconds <Int32>] [-HostName <String[]>] [-IterationCount <Int32>] [-MemoryCleanup <BeforeIteration>] [-Operation <String[]>] [-OutlierMode <ExcludeMinMax>] [-OutputRoot <String>] -Path <String> [-Plan] [-Profile <Current|TemporaryLocalUser>] [-RunMode <String>] [-RunOrder <Sequential|Rotated|Randomized|GroupedRotated>] [-Suite <String>] [-Variable <Hashtable>] [-WarmupCount <Int32>] [<CommonParameters>]#Parameter set:
PathParameters
- Case String[]
- Case or scenario names to include.
- Cleanup PowerShellBenchmarkCleanupMode
- Optional cleanup override.
- Possible values:
Always,KeepOnFailure,KeepAlways - CooldownMilliseconds Int32
- Optional delay between measured samples, in milliseconds.
- Engine String[]
- Engine names to include.
- ExternalHostTimeoutSeconds Int32
- Maximum time allowed for each external PowerShell host process.
- HostName String[]
- Host labels to include.
- IterationCount Int32
- Optional measured iteration count override.
- MemoryCleanup PowerShellBenchmarkMemoryCleanupMode
- Optional managed-memory cleanup override.
- Possible values:
BeforeIteration - Operation String[]
- Operation names to include.
- OutlierMode PowerShellBenchmarkOutlierMode
- Optional summary outlier policy override.
- Possible values:
ExcludeMinMax - OutputRoot String
- Optional output root override.
- Path String
- Path to a .benchmark.ps1 spec.
- Plan SwitchParameter
- Prints the resolved plan instead of executing measurements.
- Profile PowerShellBenchmarkProfileKind
- Optional profile override.
- Possible values:
Current,TemporaryLocalUser - RunMode String
- Run mode label.
- RunOrder PowerShellBenchmarkRunOrder
- Optional work-item ordering override.
- Possible values:
Sequential,Rotated,Randomized,GroupedRotated - Suite String
- Optional suite name override.
- Variable Hashtable
- Optional variables exposed to benchmark specs as $BenchmarkVariables.
- WarmupCount Int32
- Optional warmup count override.
Outputs
PowerForge.BenchmarkRunResult, PowerForge.PowerShellBenchmarkWorkItem
Invoke-BenchmarkSuite [-Case <String[]>] [-Cleanup <Always|KeepOnFailure|KeepAlways>] [-CooldownMilliseconds <Int32>] [-Engine <String[]>] [-ExternalHostTimeoutSeconds <Int32>] [-HostName <String[]>] [-IterationCount <Int32>] [-MemoryCleanup <BeforeIteration>] [-Operation <String[]>] [-OutlierMode <ExcludeMinMax>] [-OutputRoot <String>] [-Plan] [-Profile <Current|TemporaryLocalUser>] [-RunMode <String>] [-RunOrder <Sequential|Rotated|Randomized|GroupedRotated>] -Settings <ScriptBlock> [-Suite <String>] [-Variable <Hashtable>] [-WarmupCount <Int32>] [<CommonParameters>]#Parameter set:
SettingsParameters
- Case String[]
- Case or scenario names to include.
- Cleanup PowerShellBenchmarkCleanupMode
- Optional cleanup override.
- Possible values:
Always,KeepOnFailure,KeepAlways - CooldownMilliseconds Int32
- Optional delay between measured samples, in milliseconds.
- Engine String[]
- Engine names to include.
- ExternalHostTimeoutSeconds Int32
- Maximum time allowed for each external PowerShell host process.
- HostName String[]
- Host labels to include.
- IterationCount Int32
- Optional measured iteration count override.
- MemoryCleanup PowerShellBenchmarkMemoryCleanupMode
- Optional managed-memory cleanup override.
- Possible values:
BeforeIteration - Operation String[]
- Operation names to include.
- OutlierMode PowerShellBenchmarkOutlierMode
- Optional summary outlier policy override.
- Possible values:
ExcludeMinMax - OutputRoot String
- Optional output root override.
- Plan SwitchParameter
- Prints the resolved plan instead of executing measurements.
- Profile PowerShellBenchmarkProfileKind
- Optional profile override.
- Possible values:
Current,TemporaryLocalUser - RunMode String
- Run mode label.
- RunOrder PowerShellBenchmarkRunOrder
- Optional work-item ordering override.
- Possible values:
Sequential,Rotated,Randomized,GroupedRotated - Settings ScriptBlock
- Inline benchmark DSL settings.
- Suite String
- Optional suite name override.
- Variable Hashtable
- Optional variables exposed to benchmark specs as $BenchmarkVariables.
- WarmupCount Int32
- Optional warmup count override.
Outputs
PowerForge.BenchmarkRunResult, PowerForge.PowerShellBenchmarkWorkItem