On Monday, November 17, 2014 5:00:23 PM UTC-5, Jules wrote: > > Back in February, I posted about some prototype code I had put together > that attempted an alternative approach to map-merging that promised to be > faster and generate less churn than the standard approach. > > Glen Mailer suggested that I put it in a standalone library. At the time, > I thought that this would not be possible because of its necessarily tight > coupling to clojure.lang.PersistentHashMap, but then I found some more > time, went away and had a go. > > Here it is: > > https://github.com/JulesGosnell/seqspert > > along with some other hash-set, vector and array related stuff that I have > been playing with, instructions to set it up in Lein and example code to > paste straight into the repl to see how well it performs in your test > environment. > > Some simple testing indicates that the larger the map and the greater the > number of threads that you can run in parallel, the better results you will > see. I have seen 30x speedups on a 16-way box merging two hash-maps of 10M > entries each. > > Please take a look at it and let me know about any issues, improvements, > results etc - I'd be very interested to hear from you. > > I'll put out a stable release in a while, once interested parties have > kicked the tyres a bit. > > regards, > > > Jules >
Looks like you're seeing a general 2x speedup, and an orthogonal ${num_cores} speedup from parallelization. What's the source of the general 2x speedup? Algorithmic improvement? Use of transients? -- 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.