Hi!
The manual page of concurrent_maplist
says:
Note that the the overhead of this predicate is considerable and therefore Goal must be fairly expensive before one reaches a speedup.
What do you mean with “considerable” and “fairly expensive”?
We have goals that take from 60 to 110 seconds when executed sequentially. Are these fairly expensive to be run concurrently using concurrent_maplist
?
I mean, say p(x)
takes 60 seconds to complete and p(y)
takes 110 seconds, if I do:
concurrent_maplist(p,[x,y])
would it take nearly 110 seconds to finish (in a two or more core machine)?
I guess it should but maybe the overhead of concurrent_maplist
is much higher than I think.
Is it possible that it takes 120 (i.e. the overhead is around 10 second for a 2 element list)? If I have an 8 element list of goals taking from 60 to 230, is it possible that concurrent_maplist
takes around 400 seconds in a 8 core machine?
Thanks in advance!
Maxi