I like pmap too. I've set the number of processors call with a defonce to minimize the calls to this function to speed up pmap. What do ya think?
(defn rt-num-processors [] (.availableProcessors (Runtime/getRuntime))) (defonce num-processors (rt-num-processors)) On Mon, Apr 18, 2016 at 1:31 AM, Mars0i <marsh...@logical.net> wrote: > On Sunday, April 17, 2016 at 4:23:32 PM UTC-5, JvJ wrote: >> >> Orders of magnitude? Is it even worth running things in parallel in this >> case? >> > > I got a 2X-5X speed improvement with pmap, but as adrian says, it depends. > > The nice thing about pmap, though, is that using it just involves adding > a "p" to the front of a map call. So if you're already using map for > something, it's easy to test whether pmap helps (preferably using > Criterium <https://github.com/hugoduncan/criterium>). > > One thing that can help make pmap worthwhile is rearranging code so that > the function passed to a single map/pmap call does a lot of work with each > element of the collection passed to it. If the amount of computation for > each element is sufficiently high, pmap will be faster. e.g. rather than > (map f1 (map f2 (map f3 my-collection))), do (map (comp f1 f2 f3) > my-collection), and then try adding the "p" on the front. This avoids > constructing unnecessary intermediate sequences, too. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.