我是F#语言的新手,目前我正在对F#性能做一个简短的研究.所以我想做的是对我的F#代码进行基准测试.我已经找到了秒表类,这很明显,但至于你应该能够测试的其余部分,我发现没有明确的线索.
我想要做的是在运行时查找F#代码的内存和CPU使用情况.这里有没有人能够就如何做到这一点给我一些建议?
我目前正在尝试构建一个程序,其中我有一个递归函数,每个循环都将一个新元素附加到它正在构建的数组中.我不想多次使用append函数,因为我的函数应该执行大量的循环,并且我已经从以前的经验中学习了追加函数通常需要花费很多时间.我试图到处寻找一个只是在数组尾部添加一个元素的函数,但我没有发现这种类型.所以我想我会问这里.
所以我的问题基本上是:"有没有比使用append更有效的方法在数组后面添加一个元素?"
所以我使用了一个列表,将每个新元素作为头部插入,并在函数完成时恢复列表.这使得该功能快了约70倍.但问题仍然存在,因为我有另一个功能几乎相同,大约慢了4倍,增加了我的主要功能的总时间.功能非常相似.第一个函数(变得更快的函数)生成整数,将每个新int添加到列表中.第二个函数(变慢的函数)生成一个对象,将每个新对象添加到列表中.有没有人知道为什么一个功能变得如此快,而另一个功能变得如此之慢?