评论者:alexmiller
我同意这一点,无需资格限制。
添加更多分支到hasheq确实有其代价——添加那些集合检查会影响每一个hasheq。运行完整的Clojure构建,我发现以下一组类在具有>100次发生的实例中(注意,这些中正好0个是Java集合——这种情况本身不存在于Clojure构建中)
clojure.lang.Var 107001502 java.lang.Class 2651389 java.lang.Character 2076322 java.util.UUID 435235 java.util.Date 430956 clojure.lang.Compiler$LocalBinding 116830 java.lang.Boolean 112361 java.util.regex.Pattern 325
我们将在每个这样的hasheq路径中添加4个额外的instanceof检查。这也很可能破坏任何JVM内联。
Rich说“对于非值(Java集合显然属于这类)的hasheq/equiv,所有的赌注都应该撤销。”