AW: [erlang-questions] Serious problems with some operations on the ARM platfor.

Robert Virding <>
Fri Jan 21 12:04:07 CET 2011


----- "Nils Decker" <> wrote:

> Hello,
> 
> ...
>
> One thing i found, is that a single process can completely block a
> (non-smp) emulator by building large bignums.
>   loop(N)  ->
>     _ = N div 3, % some work needed on my desktop but not needed on
> arm.
>     loop(N bsl 8).
> 
> The reason is, that one bignum operation consumes just one reduction
> by the scheduler, but the work done is depends on the size of the
> bignum. Maybe the size (in bytes) of the bignum should be used for the
> number reductions consumed by bignum operations?

This would be a good modification for all BIFs and internal operations irrespective of SMP or no-SMP, though I believe that it is already done in many places.

Robert

-- 
Robert Virding, Erlang Solutions Ltd.



More information about the erlang-questions mailing list