MN
Size: a a a
MN
IG
(let [xs (range 1e8)
chunk-size 1e5]
(time
(loop [xs xs]
(when-some [chunk (seq (take chunk-size xs))]
(do :nothing)
(recur (drop chunk-size xs))))))
"Elapsed time: 5883.1539 msecs"
(defn by-chunks [size coll]
(partition size size [] coll))
(doseq [chunk (by-chunks 100 (get-data))]
(process-chunk chunk))
ST
(defn by-chunks [size coll]
(partition size size [] coll))
(doseq [chunk (by-chunks 100 (get-data))]
(process-chunk chunk))
IG
ST
IG
IG
ST
ST
ST
(partition 1e2 (range 1000))
IG
IG
ST
(let [xs (range 1e8)
chunk-size (int 1e5)]
(time
(doseq [chunk (partition chunk-size xs)]
(do :nothing))))
"Elapsed time: 39011.1054 msecs"
ST
IG
IG
(range 0 1000) (range 1001 9999) ...
IG
ST
AK
(let [xs (range 1e8)
chunk-size 1e5]
(time
(loop [xs xs]
(when-some [chunk (seq (take chunk-size xs))]
(do :nothing)
(recur (drop chunk-size xs))))))
"Elapsed time: 5883.1539 msecs"
ST