Creating processes (with forkIO) and communicating between them (with putMVar and takeMVar) does not scale linearly. For 10000 processes creation takes 8us, but for 100000 it takes 60us. Even taking the increased GC into account it's highly non-linear.

Trac metadata Trac field Value Version 6.7 Type Bug TypeOfFailure OtherFailure Priority normal Resolution Unresolved Component Runtime System Test case Differential revisions BlockedBy Related Blocking CC lennart.augustsson@credit-suisse.com Operating system Windows Architecture x86