Hello Joel,

use enclosed unstuff.hs
ghc -O2 --make unstuff.hs -o unstuff -lz
./unstuff trace.dat +RTS -s -A10m

analysis:

1) are you really don't use -O2 switch? :)

2) your origianl program spend 2/3 of it's time in GC. so i used
-A10m to reduce GC times

3) i also placed lock around `unstuff` call to decrease GC times

4) small delay between starting threads allow each thread to start
smoother

of course, try these changes in your real networking code

-- 
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]

Attachment: unstuff.hs
Description: Binary data

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to