Skip to content

Instantly share code, notes, and snippets.

@guozengxin
Created October 20, 2017 00:50
Show Gist options
  • Save guozengxin/6afd5bbe105c004cfcba72e9daff7bc1 to your computer and use it in GitHub Desktop.
Save guozengxin/6afd5bbe105c004cfcba72e9daff7bc1 to your computer and use it in GitHub Desktop.
Seven-3.2-1 created by guozengxin1 - https://repl.it/MwDl/2
(defn recursive-sum [numbers]
(if (empty? numbers)
0
(+ (first numbers) (recursive-sum (rest numbers)))))
(defn reduce-sum [numbers]
(reduce (fn [acc x] (+ acc x)) 0 numbers))
(defn sum [numbers]
(reduce + numbers))
(def numbers (into [] (range 0 1000000)))
(time (sum numbers))
(time (sum numbers))
(ns sum.core
(:require [clojure.core.reducers :as r]))
(defn parallel-sum [numbers]
(r/fold + numbers))
(def numbers (into [] (range 0 1000000)))
(time (parallel-sum numbers))
(time (parallel-sum numbers))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment