如果merge使用transients将更好。
补丁
- clj-1458-7.patch
方法
在transients、reduce之后的core中迁移c.c/merge。将旧版本作为merge1保留,用于支持新定义之前的情况。使APersistentMap/conj和ATransientMap/cons意识到IKVReduce。
附带的补丁保留了merge的两个现有行为
- 元数据传播
- 合并的右侧可以是Map.Entry、大小为2的IPersistentVector和普通映射。
由以下人员审查