#1589: Process creation and communication doesn't scale linearly
----------------------------+-----------------------------------------------
 Reporter:  guest           |          Owner:  simonmar        
     Type:  bug             |         Status:  new             
 Priority:  normal          |      Milestone:  6.10 branch     
Component:  Runtime System  |        Version:  6.7             
 Severity:  minor           |     Resolution:                  
 Keywords:                  |     Difficulty:  Moderate (1 day)
 Testcase:                  |   Architecture:  Multiple        
       Os:  Multiple        |  
----------------------------+-----------------------------------------------
Comment (by simonmar):

 Just for your enjoyment, here is how my current development tree does on
 this benchmark:

 {{{
 ./threads1589 1000000 0 +RTS -sstderr -k200
      274,891,208 bytes allocated in the heap
      788,755,388 bytes copied during GC
      176,005,076 bytes maximum residency (8 sample(s))
       31,957,908 bytes maximum slop
              387 MB total memory in use (3 MB lost due to fragmentation)

   Generation 0:   518 collections,     0 parallel,  1.83s,  1.84s elapsed
   Generation 1:     8 collections,     0 parallel,  1.36s,  1.76s elapsed

   INIT  time    0.00s  (  0.00s elapsed)
   MUT   time    0.74s  (  0.76s elapsed)
   GC    time    3.19s  (  3.60s elapsed)
   EXIT  time    0.25s  (  0.42s elapsed)
   Total time    4.18s  (  4.61s elapsed)

   %GC time      76.4%  (78.1% elapsed)

   Alloc rate    278,209,693 bytes per MUT second

   Productivity  23.6% of total user, 21.4% of total elapsed
 }}}

 4.6us per thread, and it scales just slightly worse than linearly until my
 laptop runs out of memory.  The test is doing a bit more than just
 creating threads, it passes a single message along the chain of threads
 after creating them all, which is why it needs linear heap space and hence
 won't scale completely linearly.

 It'll be a while until I commit this as it's on top of a ton of other
 stuff I have to get committed, but I'm getting there.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1589#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to