Skip to content

Instantly share code, notes, and snippets.

@edubkendo
Created September 15, 2014 05:29
Show Gist options
  • Save edubkendo/506a716ed63742781ccb to your computer and use it in GitHub Desktop.
Save edubkendo/506a716ed63742781ccb to your computer and use it in GitHub Desktop.
Parallel map
defmodule Parallel do
def pmap(collection, fun) do
me = self
collection
|> Enum.map(fn (elem) ->
spawn_link fn -> (send me, { self, fun.(elem) }) end
end)
|> Enum.map(fn (pid) ->
receive do { ^pid, result } -> result end
end)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment