欢迎!请参阅关于页面了解更多关于如何使用本网站的信息。
评论者:jare
此外,可能应该给每个节点(spec元素)设置超时(可选),因为它是主要的调试/分析工具。
评论者:gfredericks
这里的“尝试”代表什么?它是否仅适用于{{gen/such-that}}生成器?
是的,这是针对规格的。生成器需要重试多少次才能满足规格。
我刚刚注意到这个{{:time-ms}}部分,它可能不仅适用于{{such-that}}。
我同意能够轻松调试生成器性能是有用的,但我认为这种方法如何应用于一些组合器(如{{gen/fmap}}和{{gen/bind}})并不明显。我会更容易考虑一个更具体的建议,包括这些情况的具体细节。
bq. 我认为这种方法如何应用于像gen/fmap这样的组合器并不明显
元数据不应该从{{gen/fmap}}应用的内函数中获取。相反,函数内的耗时和其他性能统计信息应该与{{gen/fmap}}的输入统计信息关联,然后附加到输出。这样数据将通过嵌套的{{gen/}}调用之间的上下文传递。
bq. 元数据不应该从{{gen/fmap}}调用的内函数中获取。
或者,你可以允许查看输入统计信息,但不能修改它。不清楚这一点。这可能会过于混乱。
例如,假设我有
`(def g1 ...)
`
(def g2 (gen/fmap f g1)) `
当我从 {{g2}} 生成一个值时,我会得到什么样的信息?会是关于 {{g1}},还是关于 {{f}},或者这两者以某种方式?
(link: ~JAre) 我认为你的评论权限已经修复。
好的,我可以看到这可能是一个定义良好的概念。然而,这需要相当多的工作量,而且我确实想确保不会存在重大的性能差异。如果存在,我们可能希望有一个默认关闭的方式,并且确保即使在关闭时也不会影响性能。
现在工作了。谢谢。