欢迎!请参阅关于页面以获取更多有关此工作方式的信息。
评论者:jare
此外,可能需要为每个节点(spec 元素)配置一个超时时间(可配置),因为它是主要的调试/性能分析工具。
评论者:gfredericks
这里“尝试”是什么意思?它是否仅适用于 {{gen/such-that}} 生成器?
是的,在 spec 的上下文中。生成器需要尝试多少次才能满足 spec。
我刚刚注意到 {{:time-ms}} 这个方面,它很可能不仅适用于 {{such-that}},还适用于更多情况。
我同意能够轻松地调试生成器性能是有用的, but 我觉得这种方法如何应用于一些组合器,比如 {{gen/fmap}} 和 {{gen/bind}},并不明显。如果我有一个更具体的建议,包括这些情况的详细说明,我会更容易理解。
注:我认为这种方法如何应用于像 gen/fmap 这样的组合器并不明显。
元数据不应从 {{gen/fmap}} 应用的函数内部访问。相反,函数内部的时间和性能统计数据应与 {{gen/fmap}} 输入的数据关联,并附加到输出。因此,数据将通过嵌套 {{gen/}} 调用之间的上下文传递。
注:元数据不应从 {{gen/fmap}} 调用的函数内部访问。
或者,您可以允许检查输入统计信息,但不能更改它。我不确定这一点。这可能太复杂了。
例如,假设我有
`(def g1 ...)
`
(def g2 (gen/fmap f g1)) `
当我从 {{g2}} 中生成一个值时,我会得到什么信息?这将是关于 {{g1}}、关于 {{f}},还是关于它们的某种组合吗?
(链接: ~JAre) 我认为你的评论权限已修复。
好的,我可以看到这可能是一个定义良好的概念。但这可能需要相当大的工作量,并且我希望确保不会出现重大的性能差异。如果存在的话,我们可能希望有一个默认关闭的方式,并确保即使在关闭时也不会有性能损失。
现在可以工作了。谢谢。