[erlang-questions] Representation of a map in bytecode?

Joe Armstrong erlang@REDACTED
Wed Sep 19 22:00:58 CEST 2007


On 9/19/07, ok <ok@REDACTED> wrote:
> To repeat a point that has already been made:
> (1) Providing a parallel map that people can call IF THEY WANT TO is
> both a
>      good idea and easy to do in Erlang.  A low level implementation
> of pmap
>      might be a good idea.

Absolutely - there are only two ways you can exploit parallelism "on the chip"
these are instruction level parallelism (ie the instruction set on the
chip pipelines several instructions for higher performance, fetching
one instruction as it evaluates another) and thread level parallelism
(multicores) - there are no other ways of exploiting parallelism in
the hardware.

For the programmer this means that only thread level parallelism is available
(in the form of multicores). Setting up a thread level parallel
computation costs
something - if this cost is greater than the cost of doing the
computation in-place
then nothing is won. Only the programmer knows (or should know) if a given map
is worth parallelising. Automatic attempts to parallelise sequential
code have always
been dismal failures (despite massive research budgets)

/Joe



More information about the erlang-questions mailing list