我想知道为什么下面的代码在 r/fold 的情况下没有提供加速?我对减速器有什么误解吗?
我通过 emacs 和 lein run 在一个相当慢的(尽管有 2 个内核)Ubuntu 12.04 开发箱上运行它,每个都具有相同的结果。
(require '[clojure.core.reducers :as r])
(.. Runtime getRuntime availableProcessors)
;; 2
(let
[n 80000000
vs #(range n)]
(time (reduce + (vs)))
(time (r/fold + (vs)))
“经过时间:26076.434324 毫秒”
“经过时间:25500.234034 毫秒”
谢谢。