AW: [erlang-questions] Serious problems with some operations on the ARM platfor.
Robert Virding
robert.virding@REDACTED
Fri Jan 21 12:04:07 CET 2011
----- "Nils Decker" <n.decker@REDACTED> 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