如何衡量F#代码的CPU和内存使用情况?

时间:2012-04-06 15:27:26

标签: performance f# measurement

我是F#语言的新手,目前我正在对F#性能做一个简短的研究。所以我想做的是对我的F#代码进行基准测试。我已经找到了秒表类,这是非常明显的,但至于你应该能够测试的其余部分,我发现没有明确的线索。

我希望做的是在运行时找出F#代码的内存和CPU使用情况。这里有没有人可以就如何做到这一点给我一些建议?

2 个答案:

答案 0 :(得分:10)

为了快速进行原型设计,fsi的计时指令提供了很好的指示:

#if INTERACTIVE
#time "on"
#endif

打印出如下内容:

Real: 00:00:00.199, CPU: 00:00:00.120, GC gen0: 0, gen1: 0, gen2: 0 

除执行时间外,其他统计数据还显示了在分代GC的三个级别中收集的垃圾量,这有助于了解程序中的内存使用情况。

对于严格的基准测试,您应该使用Visual Studio profiler来提供函数调用计数,计时和内存分配测量等,甚至使用第三方内存分析器。您可以在Good F# Performance Profiling Tool的答案中找到一些使用这些分析器的提示。

答案 1 :(得分:2)

您可能还会发现Dave Thomas(以前的Moirae Software)发布的这篇博文很有帮助:

https://7sharp9.github.io/2011/12/11/2011-12-11-fixing-a-hole/

通常情况下,我会确定我正在考虑回答问题的博客帖子的特定部分,但整篇博文都是对这个问题的回答。

编辑: 更新链接,因为旧链接已被破坏。