summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2015-10-28 16:00:32 +0100
committerLinus Nordberg <linus@nordu.net>2015-11-11 13:32:37 +0100
commit5832111169e899fe114947236a3b5b845d4aa9bd (patch)
tree3bc04528d20d7ac1563e32e5290a08c286a80fe0
parente77934418082facf6c4b3566100b108b26e4119d (diff)
Make check_entries parallelism configurable
-rw-r--r--src/frontend.erl3
-rw-r--r--src/util.erl2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/frontend.erl b/src/frontend.erl
index 1055e5f..a7ca153 100644
--- a/src/frontend.erl
+++ b/src/frontend.erl
@@ -241,9 +241,10 @@ check_entries_int(Entries, Start, End) ->
end, [], lists:zip(Entries, lists:seq(Start, End))).
check_entries_noreverse(Entries, Start, End) ->
+ ParallelTasks = application:get_env(plop, check_entries_parallel_tasks, 1),
Results = util:parallel_map(fun ({Hash, Index}) ->
check_entry_noreverse(Hash, Index)
- end, lists:zip(Entries, lists:seq(Start, End)), 2),
+ end, lists:zip(Entries, lists:seq(Start, End)), ParallelTasks),
lists:foldl(fun (Result, Acc) ->
case Result of
ok ->
diff --git a/src/util.erl b/src/util.erl
index 8a8152a..f58cb4b 100644
--- a/src/util.erl
+++ b/src/util.erl
@@ -124,6 +124,8 @@ parallel_map_loop([Item|Rest], [FreeChild|FreeChildren], WorkingChildren, Acc) -
parallel_map_loop(Rest, FreeChildren, queue:in(FreeChild, WorkingChildren), Acc).
+parallel_map(Fun, List, 1) ->
+ lists:map(Fun, List);
parallel_map(Fun, List, Parallel) ->
ParentPid = self(),
ChildPids = lists:map(fun(N) ->