War*_*rbo 12 memory haskell timeout quickcheck
我正在使用QuickCheck来测试自动生成的属性(类似于QuickSpec),但是我遇到的一个常见问题是耗尽内存,这可能是由于幼稚的递归生成器或非常大的函数输出(例如,一个失败是由指数引起的) Peano数的函数,会生成巨大的嵌套结构)。
我想知道是否有一种方法可以放弃评估(如果达到)(驻留)内存限制。似乎我们可以为超时执行此操作,但是内存似乎比较棘手。这样,如果我们使用过多的内存,则可以放弃该测试(就像==>先决条件失败了一样)。
通过查看weigh包的来源,我可以看到如何衡量整个程序的内存使用情况。这是可行的,但针对一个特定的表达式(也许通过获取一个线程使用的内存或其他东西)来衡量它会更好(更健壮)。
就我的目的而言,将表达式完全标准化就足够了,因为我不必担心递归结构(我可以将其应用于测试结果,实际上是布尔值)。
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |