之前我在SO上阅读了一个很棒的
@L_404_0@,我想知道为什么它还没有在PowerShell中模拟过.
在unix / linux中,我们可以使用time命令作为简单的基准测试工具.
$time ./script1.sh real 0m1.005s user 0m0.000s sys 0m0.008s
在powershell中,我们可以类似地使用measure-command:
$Measure-Command {java post_incr} Days : 0 Hours : 0 Minutes : 0 Seconds : 1 Milliseconds : 18 Ticks : 10188003 TotalDays : 1.17916701388889E-05 TotalHours : 0.000283000083333333 TotalMinutes : 0.016980005 TotalSeconds : 1.0188003 TotalMilliseconds : 1018.8003
但这与报告真实,用户和系统的时间不同(请参阅链接的SO答案中的三者之间的差异.)
这个(时间)显然是一个非常有用的小工具.是否有任何用户为此功能编写cmdlet,或者它已经在V3中或计划用于将来的版本?
使用GetProcessTimes函数编写C程序,您可以在:
http://msdn.microsoft.com/en-us/library/ms683223%28VS.85%29.aspx中找到它的文档.
在“Windows系统编程”一书的例子中,出现了一个程序,它使用该函数来准确检索所需内容(经历,内核,用户时间).该程序称为“timep.exe”,它可以在压缩示例存档中的runX子目录中找到(X来自编译中使用的Visual Studio版本).以下是您可以从中下载该存档http://www.jmhartsoftware.com/的作者页面,当然源代码也在那里,因此您可以准确地看到timep.exe的工作原理.