HEAD: Deterioration in ByteString I/O

Daniel Fischer daniel.is.fischer at web.de
Wed Sep 8 12:05:00 EDT 2010


Trying out HEAD (specifically, ghc-6.13.20100831-src.tar.bz2 built with 
6.12.3) investigating an issue with the text package, I found that I/O of 
ByteStrings has become significantly slower (on my machine at least:

$ uname -a
Linux linux-mkk1 2.6.27.48-0.2-pae #1 SMP 2010-07-29 20:06:52 +0200 i686 
i686 i386 GNU/Linux

Pentium 4, 3.06GHz).

Timings for reading and outputting a 74.3MB file:

cat:
$ time cat bigfile > /dev/null
0.00user 0.04system 0:00.06elapsed 83%CPU

ghc-6.12.3:
$ time ./nbench lazyBSNull bigfile a b > /dev/null
0.01user 0.09system 0:00.10elapsed 100%CPU

ghc-6.13.20100831:
$ time ./hdbench lazyBSNull bigfile a b > /dev/null
0.07user 0.10system 0:00.18elapsed 96%CPU

In addition to the slowdown, the allocation behaviour has become quite bad:

ghc-6.12.3:
      89,330,672 bytes allocated in the heap
          15,092 bytes copied during GC
          35,980 bytes maximum residency (1 sample(s))
          29,556 bytes maximum slop
               2 MB total memory in use (0 MB lost due to fragmentation)

ghc-6.13.20100831:
     475,305,720 bytes allocated in the heap
          89,272 bytes copied during GC
          68,860 bytes maximum residency (1 sample(s))
          29,444 bytes maximum slop
               2 MB total memory in use (0 MB lost due to fragmentation)


More information about the Glasgow-haskell-users mailing list