From 5832111169e899fe114947236a3b5b845d4aa9bd Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Wed, 28 Oct 2015 16:00:32 +0100 Subject: Make check_entries parallelism configurable --- src/frontend.erl | 3 ++- src/util.erl | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') 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) -> -- cgit v1.1