8

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

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

4

2 回答 2

12

对于快速原型设计,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 分析器,甚至使用第三方内存分析器。您可以在我的Good F# Performance Profiling Tool回答中找到使用这些分析器的一些提示。

于 2012-04-06T15:39:08.200 回答
2

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

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

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

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

于 2012-04-06T16:06:08.773 回答