欢迎!请查看关于页面以获取更多此页面如何工作的信息。
评论者:jare
此外,s/complexity可能应该具有每个节点(规范元素)的超时时间(可能可配置),因为它主要是一个调试/性能分析工具。
s/complexity
评论者: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) 我认为你的评论权限已修复。
好的,我可以看到这可能是一个定义良好的概念。但这将是一项不那么容易的工作,我需要确信这不会导致巨大的性能差异。如果有,我们可能需要有一个默认关闭它的方式,并确保即使关闭也不会有性能损失。
现在它工作了。谢谢。