CS 365: Lab 17: Clojure futures
Adapt a Clojure implementation of merge sort so that it uses futures to execute the recursive sorts in parallel if the number of elements is less than a threshold value.
You can find an implementation of merge sort in clojure-concurrency.zip, the example code from Lecture 19.
What kind of parallel speedup do you see?
Try:
(def data (shuffle (range 100000))) (time (do (merge-sort data) "done")) (time (do (merge-sort-par data) "done"))