测量 F# 中的执行时间
请发布在 F# 中显示时间的代码。我注意到您可以通过 F# 与 #time 指令交互来测量它,但我不知道如何从 FSI 执行程序
谢谢
Please post code for displaying time in F#. I noticed that you can measure it from F# interactive with #time directive, but I don't know how to execute program from FSI
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
高速公鹿2024-10-16 17:36:02
来自msdn:
#time 本身可以切换是否显示性能信息。
启用后,F# Interactive 会测量实时、CPU 时间和
每个代码段的垃圾收集信息
解释并执行。
因此,要测试您的函数,您必须打开 F# 交互式控制台并在其中执行您的函数(一种方法是选择您的函数,右键单击并选择“在交互中执行”)
然后在 Interactive 中调用您的函数,例如:
// 首先在交互式控制台或文档中定义您的函数:
let square x = x * x
// in interactive
#time
square 10
#time
您将看到计算花费了多少实时和 CPU 时间以及来自垃圾收集器
少女净妖师2024-10-16 17:36:02
查看F Sharp 编程维基百科中的计时器函数。它的定义如下:
let duration f =
let timer = new System.Diagnostics.Stopwatch()
timer.Start()
let returnValue = f()
printfn "Elapsed Time: %i" timer.ElapsedMilliseconds
returnValue
使用时如下:
let sample() = System.Threading.Thread.Sleep(2)
duration ( fun() -> sample() )
// or
duration sample
屋顶上的小猫咪2024-10-16 17:36:02
您还可以创建自定义计算表达式来隐藏实际的测量逻辑,例如:
timer {
// your code goes here
}
在此处查看更多示例:https ://fsharpforfunandprofit.com/posts/computation-expressions-bind/
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我只想使用 .NET Stopwatch 类。
I would just use the .NET Stopwatch class.