[erlang-questions] Parallel Shootout & a style question
Mats Cronqvist
mats.cronqvist@REDACTED
Tue Sep 2 16:30:17 CEST 2008
Hynek Vychodil wrote:
>
>
> On Tue, Sep 2, 2008 at 12:21 PM, Mats Cronqvist
> <mats.cronqvist@REDACTED <mailto:mats.cronqvist@REDACTED>> wrote:
>
> Hynek Vychodil wrote:
>
> I'm not sure if it is good idea at all. If F function is very
> cheap and result or parameter is large (copy of it is more
> expensive in comparison to F expense) parallel version of pmap
> can be slower than serial version even many cores is used.
> Developer should be able control size of parallelized bunch
> and switch off parallel process fully. For example pmap(fun(X)
> -> [0|X] end, [lists:seq(1,1000000)]) is really bad idea and I
> will not be happy if lists:map will be changed to pmap
> automatically at default ;-)
>
> regardless of how the OTP libs behaves, it will always be
> possible to find some case for which it performs badly. the
> question is what the *default* behavior should be.
> it seems obvious to me that the target for the OTP libs should be
> non-trivial calculations on multi-core machines. motivation;
>
>
> Lists module is component of stdlibs which is OTP library/aplication
> so I can't be agree with you. Lists is often used and lists should
> behave nice in normal usage.
define "normal."
> Change lists:map to anything other than current is bad. There are OTP
> libs which could not be performace beaters as gen_server, gen_fsm and
> other, but there are OTP libraries which should be. For example stlib!
> I guess you forgot that stdlib is OTP library too.
well, now that you mention it, stdlib being part of OTP does sound
vaguely familiar.
alas, i still think the normal case should be optimized for multicore.
mats
More information about the erlang-questions
mailing list