以下是超级快速的内容。
(let [a (atom {})]
(doall (map #(swap! a merge {% 1}) (range 10000))) (println @a))
但是如果加上局部,则会非常慢。代码返回的结果应该是一样的,对吧?为什么性能会有这么大的差异?
(let [a (atom {})]
(doall (map #(swap! a (partial merge {% 1})) (range 10000))) (println @a))