欢迎!请查看关于页面以获取有关如何使用此页面的更多信息。
评论者: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}} 的,或者是两者都以某种方式?
(链接:~JAre) 我认为你的评论权限已经修复。
好吧,我可以看出这可能是一个定义良好的概念。但这将是相当多的工作,我想要确保不会有一个重大的性能差异。如果有,我们可能需要提供一个默认关闭它的方法,并确保关闭时也不会有性能损失。
是的,现在它工作正常了。谢谢。