使用 PowerShell 测量脚本的运行时间
预计在创建脚本后检查脚本的运行时间。如果有任何修订会使脚本变慢或变快,它可以帮助开发人员用可测量的值来衡量脚本。
在 Windows PowerShell 中,有一种方法来衡量这一点,在本文中,我们将学习如何准确地做到这一点。
在 PowerShell 中使用 Measure-Command
Cmdlet 测量脚本的运行时间
在 PowerShell 中使用 Measure-Command
cmdlet 可以轻松测量运行时间或执行时间。此命令还可以告诉你执行自定义函数或整个脚本需要多长时间。
Measure-Command
是一个易于使用并提供直观、可操作的输出的 cmdlet。
Measure-Command
cmdlet 需要两个参数:-Expression
和 -InputObject
。-InputObject
参数以任何方式表示一个或多个表达式。
它很简单,但提供了有价值的指标,让你了解代码的性能。
让我们在性能调整示例中使用 Measure-Command
。假设我们有一个定义为 $arr01 = @()
的数组。
我们将使用带范围创建的整数来保持简单。我们将使用 +=
将这些数字添加到数组中。
$arr01 = @()
0..10000 | ForEach-Object { $arr01 += $_ }
上面的代码片段执行了,但是执行了多长时间?让我们用 Measure-Command
找出答案。
首先,我们可以将代码包装在表示表达式的脚本块中,并将其用作 Measure-Command
的 Expression
参数。
示例代码:
Measure-Command -Expression { 0..10000 | ForEach-Object { $arr01 += $_ }}
输出:
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 76
Ticks : 762558
TotalDays : 8.82590277777778E-07
TotalHours : 2.11821666666667E-05
TotalMinutes : 0.00127093
TotalSeconds : 0.0762558
TotalMilliseconds : 76.2558
请注意,Measure-Command
返回的时间被分解为不同的类别。我们不需要执行任何数学运算来转换秒、分钟或小时。
这都是返回的对象 Measure-Command
的一部分。
如果我们需要引用总秒数,我们将引用 TotalSeconds
属性。我们可以将 Measure-Command
的输出分配给一个变量并引用所有属性。
$slow_performance = Measure-Command -Expression { 0..10000 | ForEach-Object { $arr01 += $_ }}
现在让我们使用 ArrayList
来使用更快的方式将元素添加到数组中,看看它有多快。
示例代码:
$arr01 = [System.Collections.ArrayList]@()
$fast_performance = Measure-Command -Expression { 0..10000 | ForEach-Object { $arr01 += $_ }}
$fast_performance
输出:
Days : 0
Hours : 0
Minutes : 0
Seconds : 7
Milliseconds : 346
Ticks : 73465163
TotalDays : 8.50291238425926E-05
TotalHours : 0.00204069897222222
TotalMinutes : 0.122441938333333
TotalSeconds : 7.3465163
TotalMilliseconds : 7346.5163
我们还可以使用 Measure-Command
检查 PowerShell 文件 (.ps1
) 的运行时。
示例代码:
Measure-Command { .\checkdrives.ps1 | Out-Default }
输出:
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 30
Ticks : 308166
TotalDays : 3.56673611111111E-07
TotalHours : 8.56016666666667E-06
TotalMinutes : 0.00051361
TotalSeconds : 0.0308166
TotalMilliseconds : 30.8166
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。