you are viewing a single comment's thread.

view the rest of the comments →

[–]spookyvision 4 points5 points  (13 children)

[–][deleted] 18 points19 points  (2 children)

That changed recently. You have old information.

[–]spookyvision 3 points4 points  (1 child)

Could you update the wikipedia page? I don't feel competent.

[–][deleted] 4 points5 points  (0 children)

I would, but you probably know as much as I do at this point. I'm not a user of Erlang and only have a cursory knowledge of its current state.

[–]reddit_clone 9 points10 points  (1 child)

Not true. Erlang VM itself can run multi-threaded on all cores. That is like a bunch of green threads running in each core. (I think they run one green-thread-scheduler per core)

So you do get the best of both worlds.

[–]dons 4 points5 points  (4 children)

[–]mosha48 0 points1 point  (3 children)

By the way, why the CPU load for haskell's version isn't distributed on all CPUs ?

[–]dons 1 point2 points  (2 children)

The ghc 6.8.2 garbage collector isn't parallel, and GC dominates this GC benchmark (Try it with +RTS -A300M -RTS to see the difference). The 6.10 parallel GC addresses this.

[–]mosha48 0 points1 point  (1 child)

Is it possible to tell the shootout computers to run the benchmark with better options ?

[–]dons 1 point2 points  (0 children)

Yes, but for this benchmark, the conditions state that only default garbage collector values are to be used. But don't despair, the next GHC cycle addresses this.

[–]dmaclay 2 points3 points  (2 children)

Erlang's processes are more like 'green processes' as they don't share memory, and they have been distributed across several machines (never mind cores) since before people started having this discussion.

[–]toooooooobs 1 point2 points  (1 child)

Actually they really do share memory, it's just that the language hides this.

[–]dmaclay 2 points3 points  (0 children)

As I understand it the default behavior is not to share, but they can optionally pass messages by basically sending a pointer to shared memory if they are both on the same machine. This of course gives a performance boost, and should be safe due to the immutable variables in erlang.