clojure-site icon indicating copy to clipboard operation
clojure-site copied to clipboard

reducers example isn't parallel

Open vemv opened this issue 6 years ago • 1 comments

The following example included in https://clojure.org/reference/reducers won't run in parallel because range is a seq:

(r/foldcat (r/filter even? (r/map inc (range 100000))))

It is confusing to find a "no-gain" example in a page explaining reducers.

Consequently, I'd suggest instead:

;; `vec` is there since seqs don't support parallel folding
(r/foldcat (r/filter even? (r/map inc (vec (range 100000)))))

Perhaps the comment would duplicate some information already in the page (If a collection does not support folding, it will fall back to non-parallel reduce instead.), but newcomers probably will appreciate a reminder (and an example).

vemv avatar Mar 28 '19 07:03 vemv

Maybe should go further to find better example here.

puredanger avatar Jun 08 '21 16:06 puredanger