Logging to one process from thousands: How does it work?
Tue Jan 3 13:36:48 CET 2006
I have just rewrote some code from Haskell to Erlang and there's one
thing that baffles me.
I tried to approach Haskell the way I would code in Erlang and set up
a logger thread with an unbounded message queue. I then launched a
few hundred/thousand threads that traced to the logger periodically.
This is no different than using disk_log in Erlang, I think.
The Haskell logger thread got quickly overwhelmed with messages I
think. The queue build-up was huge. How does it work with Erlang? Is
the scheduler specially tuned somehow to give different priorities to
different threads? The Haskell scheduler, I believe, is just round-
More information about the erlang-questions