[RFC] Preliminary benchmark graphs

I added Don's three benchmarks and redid all my benchmarks with: ghc 6.6.1 ghc 6.8.2 ghc 6.8.2 + bytestring 0.9.0.2 ghc 6.9.20071119 ghc 6.9.20071119 + bytestring 0.9.0.2 ghc head-as-of-yesterday-around-noon ghc head-as-of-yesterday-around-noon + bytestring 0.9.0.2 I tried to get the draft emails with intro, methodology, discussion, and conclusion completed yesterday but my brain simply wasn't up to it. Unfortunately, it still isn't quite up to it :( Since the perfect is the enemy of the good, I'll post the graphs for all the above 7 runs now. The rest will be forthcoming when I can think straight again, hopefully some time in the evening. I have scripts to help me install precisely the ghc version I want (and to make it easy to duplicate my results). I also have scripts to run the benchmarks, get correct memory measurements (-sstderr doesn't seem trustworthy), check the validity of each timing measurement, generate I/O traces, generate reports, and finally merging reports from different runs with or without rescaling. This attached report uses rescaling since I'm compiling different compiler/library combinations on the same machine. One thing that shows up very clearly in the graphs is that the memory situation is bad and that Don's recent fix only really solves the problem on 6.8.2, not on head. Another thing is that the backend really lets us down. I have hand-tweaked a simple byte counting benchmark and a simple space counting benchmark through increasing degrees of refinement from the banal to the heroic and timed those, too. It seems like improved register use alone would halve the run time. Add a sprinkling of MMX heroics and things get even better (but that's not realistic or even a good idea at the moment). The reason why lazy bytestrings perform so badly, speed-wise, is most likely a backend that doesn't do hoisting of "bounds checks" out of loops. -Peter charybdis ghc 6.6.1 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX= charybdis ghc 6.8.2 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX= charybdis ghc 6.8.2 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX=-bs0.9.0.2 charybdis ghc 6.9.20071119 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX= charybdis ghc 6.9.20071119 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX=-bs0.9.0.2 charybdis ghc 6.9.20071217 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX= charybdis ghc 6.9.20071217 AMD Athlon(tm) 64 Processor 3000+ 2009.160 MHz TESTKIND=THOROUGH SUFFIX=-bs0.9.0.2 Time (byte counting) std -------------------- avg dev slack hs/byte-bs----acc: 1.020 40‰ 0.0 █████▏ | -- 0.703 5‰ 0.4 ███▌ | -- 0.702 7‰ 0.3 ███▌ | -- 0.705 7‰ 0.1 ███▋ | -- 0.712 3‰ 0.1 ███▋ | -- 0.706 7‰ 0.1 ███▋ | -- 0.707 7‰ 0.9 ███▋ | hs/byte-bs----foldlx: 0.789 3‰ 0.3 ████ | -- 0.993 2‰ 0.2 █████ | -- 1.102 1‰ 0.2 █████▋ | -- 1.002 1‰ 0.5 █████▏ | -- 1.112 1‰ 0.3 █████▋ | -- 1.024 2‰ 0.2 █████▏ | -- 1.111 1‰ 0.1 █████▋ | hs/byte-bs----foldrx: 0.813 3‰ 0.1 ████▏ | -- 1.102 2‰ 0.3 █████▋ | -- 1.100 1‰ 0.1 █████▋ | -- 1.112 2‰ 0.1 █████▋ | -- 1.114 1‰ 0.4 █████▋ | -- 1.113 2‰ 0.5 █████▋ | -- 1.112 1‰ 0.2 █████▋ | hs/byte-bsl---acc: 3.599 13‰ 0.0 ██████████████████▎ | -- 2.609 17‰ 0.0 █████████████▎ | -- 2.560 15‰ 0.1 █████████████ | -- 2.595 14‰ 0.1 █████████████▏ | -- 2.574 16‰ 0.1 █████████████ | -- 2.613 12‰ 0.2 █████████████▎ | -- 2.656 44‰ 0.1 █████████████▌ | hs/byte-xxxxx-acc-1: 4.606 5‰ 0.0 ███████████████████████▍ | -- 4.730 3‰ 0.0 ████████████████████████ | -- 4.722 3‰ 0.1 ███████████████████████▉ | -- 4.436 5‰ 0.0 ██████████████████████▌ | -- 4.500 6‰ 0.1 ██████████████████████▊ | -- 4.462 4‰ 0.1 ██████████████████████▋ | -- 4.499 7‰ 0.1 ██████████████████████▊ | hs/byte-xxxxx-acc-2: 4.595 5‰ 0.0 ███████████████████████▎ | -- 4.704 1‰ 0.0 ███████████████████████▉ | -- 4.722 6‰ 0.0 ███████████████████████▉ | -- 4.473 8‰ 0.0 ██████████████████████▋ | -- 4.493 5‰ 0.0 ██████████████████████▊ | -- 4.477 3‰ 0.1 ██████████████████████▋ | -- 4.446 2‰ 0.0 ██████████████████████▌ | hs/byte-xxxxx-foldl: 4.566 9‰ 0.0 ███████████████████████▏ | -- 4.754 6‰ 0.1 ████████████████████████▏ | -- 4.735 7‰ 0.0 ████████████████████████ | -- 4.412 10‰ 0.0 ██████████████████████▍ | -- 4.486 3‰ 0.0 ██████████████████████▊ | -- 4.473 3‰ 0.0 ██████████████████████▋ | -- 4.511 10‰ 0.1 ██████████████████████▉ | Memory: Peak ------- KB hs/byte-bs----acc: 147448 ████████████████████████████████████████ | -- 147500 ████████████████████████████████████████ | -- 147616 ████████████████████████████████████████ | -- 147752 ████████████████████████████████████████ | -- 147732 ████████████████████████████████████████ | -- 147772 ████████████████████████████████████████ | -- 147780 ████████████████████████████████████████ | hs/byte-bs----foldlx: 147468 ████████████████████████████████████████ | -- 147528 ████████████████████████████████████████ | -- 147624 ████████████████████████████████████████ | -- 147748 ████████████████████████████████████████ | -- 147736 ████████████████████████████████████████ | -- 147796 ████████████████████████████████████████▏ | -- 147780 ████████████████████████████████████████ | hs/byte-bs----foldrx: 147452 ████████████████████████████████████████ | -- 147500 ████████████████████████████████████████ | -- 147624 ████████████████████████████████████████ | -- 147744 ████████████████████████████████████████ | -- 147740 ████████████████████████████████████████ | -- 147772 ████████████████████████████████████████ | -- 147784 ████████████████████████████████████████ | hs/byte-bsl---acc: 2872 ▊ | -- 2920 ▊ | -- 3040 ▉ | -- 3172 ▉ | -- 3184 ▉ | -- 3212 ▉ | -- 3216 ▉ | hs/byte-xxxxx-acc-1: 1572 ▍ | -- 1632 ▌ | -- 1636 ▌ | -- 1904 ▌ | -- 1904 ▌ | -- 1900 ▌ | -- 1900 ▌ | hs/byte-xxxxx-acc-2: 1568 ▍ | -- 1636 ▌ | -- 1636 ▌ | -- 1904 ▌ | -- 1900 ▌ | -- 1900 ▌ | -- 1896 ▌ | hs/byte-xxxxx-foldl: 1572 ▍ | -- 1632 ▌ | -- 1636 ▌ | -- 1900 ▌ | -- 1904 ▌ | -- 1900 ▌ | -- 1896 ▌ | Time (space counting) std --------------------- avg dev slack hs/space-bs-c8-acc-1: 1.287 20‰ 0.2 ██████▌ | -- 1.131 2‰ 0.1 █████▊ | -- 1.132 2‰ 0.3 █████▊ | -- 1.145 1‰ 0.2 █████▊ | -- 1.150 1‰ 0.2 █████▉ | -- 1.147 2‰ 0.1 █████▊ | -- 1.147 2‰ 0.2 █████▊ | hs/space-bs-c8-count: 0.770 2‰ 0.0 ███▉ | -- 0.711 1‰ 0.4 ███▋ | -- 0.513 2‰ 0.2 ██▋ | -- 0.521 1‰ 0.2 ██▋ | -- 0.523 3‰ 0.2 ██▋ | -- 0.522 5‰ 0.2 ██▋ | -- 0.523 3‰ 0.6 ██▋ | hs/space-bs-c8-foldlx-1: 1.272 1‰ 0.2 ██████▌ | -- 1.205 2‰ 0.2 ██████▏ | -- 1.164 3‰ 0.0 █████▉ | -- 1.221 1‰ 0.1 ██████▏ | -- 1.176 1‰ 0.3 ██████ | -- 1.259 1‰ 0.1 ██████▍ | -- 1.176 1‰ 0.2 ██████ | hs/space-bs-c8-foldlx-2: 1.270 1‰ 0.2 ██████▍ | -- 1.207 1‰ 0.2 ██████▏ | -- 1.165 2‰ 0.1 █████▉ | -- 1.219 2‰ 0.2 ██████▏ | -- 1.176 1‰ 0.3 ██████ | -- 1.258 1‰ 0.2 ██████▍ | -- 1.177 1‰ 0.2 ██████ | hs/space-bs-c8-foldrx: 1.064 2‰ 0.1 █████▍ | -- 1.168 2‰ 0.2 █████▉ | -- 1.164 1‰ 0.3 █████▉ | -- 1.172 2‰ 0.3 █████▉ | -- 1.177 1‰ 0.2 ██████ | -- 1.176 1‰ 0.2 ██████ | -- 1.176 1‰ 0.1 ██████ | hs/space-bs-c8-lenfil: 1.271 1‰ 0.1 ██████▍ | -- 1.218 1‰ 0.2 ██████▏ | -- 0.541 3‰ 0.2 ██▊ | -- 1.223 1‰ 0.2 ██████▎ | -- 0.549 1‰ 0.4 ██▊ | -- 1.225 1‰ 0.2 ██████▎ | -- 0.551 5‰ 0.4 ██▊ | hs/space-bslc8-acc-1: 6.367 17‰ 0.2 ████████████████████████████████▎ | -- 3.396 7‰ 0.1 █████████████████▎ | -- 3.508 4‰ 0.1 █████████████████▊ | -- 3.388 10‰ 0.1 █████████████████▏ | -- 3.441 10‰ 0.1 █████████████████▍ | -- 3.438 3‰ 0.0 █████████████████▍ | -- 3.434 13‰ 0.1 █████████████████▍ | hs/space-bslc8-acc-2: 6.150 21‰ 0.0 ███████████████████████████████▏ | -- 3.470 5‰ 0.0 █████████████████▋ | -- 3.439 10‰ 0.1 █████████████████▍ | -- 3.386 5‰ 0.1 █████████████████▏ | -- 3.479 11‰ 0.1 █████████████████▋ | -- 3.467 6‰ 0.1 █████████████████▌ | -- 3.470 10‰ 0.1 █████████████████▋ | hs/space-bslc8-acc-3: 4.041 21‰ 0.1 ████████████████████▌ | -- 2.959 13‰ 0.0 ███████████████ | -- 2.920 16‰ 0.1 ██████████████▊ | -- 2.832 4‰ 0.1 ██████████████▍ | -- 2.925 14‰ 0.1 ██████████████▊ | -- 2.987 9‰ 0.0 ███████████████▏ | -- 2.996 20‰ 0.1 ███████████████▏ | hs/space-bslc8-count: 0.713 1‰ 0.3 ███▋ | -- 0.735 1‰ 0.4 ███▊ | -- 0.431 0‰ 0.7 ██▏ | -- 0.477 2‰ 0.4 ██▍ | -- 0.482 1‰ 0.4 ██▌ | -- 0.479 1‰ 0.6 ██▍ | -- 0.482 2‰ 0.4 ██▌ | hs/space-bslc8-foldl: 1.431 1‰ 0.3 ███████▎ | -- 1.398 1‰ 0.2 ███████▏ | -- 1.197 1‰ 0.2 ██████ | -- 1.458 1‰ 0.3 ███████▍ | -- 1.059 0‰ 0.0 █████▍ | -- 1.459 1‰ 0.1 ███████▍ | -- 1.061 0‰ 0.4 █████▍ | hs/space-bslc8-foldlx-1: 1.430 1‰ 0.1 ███████▎ | -- 1.400 1‰ 0.1 ███████▏ | -- 1.197 1‰ 0.0 ██████ | -- 1.458 0‰ 0.1 ███████▍ | -- 1.060 1‰ 0.0 █████▍ | -- 1.457 1‰ 0.1 ███████▍ | -- 1.060 1‰ 0.2 █████▍ | hs/space-bslc8-foldlx-2: 1.431 1‰ 0.1 ███████▎ | -- 1.399 1‰ 0.1 ███████▏ | -- 1.196 1‰ 0.1 ██████ | -- 1.457 1‰ 0.1 ███████▍ | -- 1.060 1‰ 0.3 █████▍ | -- 1.458 1‰ 0.1 ███████▍ | -- 1.060 1‰ 0.0 █████▍ | hs/space-bslc8-foldr-1: 1.748 1‰ 0.0 ████████▉ | -- 1.579 2‰ 0.1 ████████ | -- 1.220 2‰ 0.2 ██████▏ | -- 1.312 1‰ 0.2 ██████▋ | -- 1.213 1‰ 0.2 ██████▏ | -- 1.325 4‰ 0.2 ██████▊ | -- 1.213 2‰ 0.2 ██████▏ | hs/space-bslc8-foldr-2: 1.745 1‰ 0.1 ████████▉ | -- 1.579 2‰ 0.1 ████████ | -- 1.220 1‰ 0.2 ██████▏ | -- 1.315 1‰ 0.2 ██████▋ | -- 1.210 1‰ 0.2 ██████▏ | -- 1.317 4‰ 0.2 ██████▋ | -- 1.213 2‰ 0.2 ██████▏ | hs/space-bslc8-lenfil-1: 1.521 7‰ 0.2 ███████▊ | -- 1.295 1‰ 0.2 ██████▌ | -- 0.429 0‰ 0.2 ██▏ | -- 1.323 1‰ 0.1 ██████▊ | -- 0.483 2‰ 0.4 ██▌ | -- 1.327 1‰ 0.2 ██████▊ | -- 0.482 2‰ 0.4 ██▌ | hs/space-bslc8-lenfil-2: 1.532 6‰ 0.1 ███████▊ | -- 1.296 0‰ 0.0 ██████▌ | -- 0.429 0‰ 0.2 ██▏ | -- 1.325 1‰ 0.1 ██████▊ | -- 0.483 1‰ 0.6 ██▌ | -- 1.327 1‰ 0.2 ██████▊ | -- 0.482 2‰ 0.4 ██▌ | hs/space-bsl---foldlx: 1.288 1‰ 0.2 ██████▌ | -- 1.333 1‰ 0.0 ██████▊ | -- 1.168 1‰ 0.2 █████▉ | -- 1.391 1‰ 0.1 ███████ | -- 1.006 1‰ 0.3 █████▏ | -- 1.395 1‰ 0.1 ███████▏ | -- 1.008 1‰ 0.2 █████▏ | hs/space-xxxxx-acc-1: 5.036 7‰ 0.1 █████████████████████████▌ | -- 5.381 6‰ 0.0 ███████████████████████████▎ | -- 5.358 8‰ 0.1 ███████████████████████████▏ | -- 4.991 1‰ 0.1 █████████████████████████▎ | -- 5.047 7‰ 0.1 █████████████████████████▌ | -- 5.051 3‰ 0.1 █████████████████████████▋ | -- 5.049 4‰ 0.1 █████████████████████████▋ | hs/space-xxxxx-acc-2: 5.009 7‰ 0.1 █████████████████████████▍ | -- 5.437 4‰ 0.1 ███████████████████████████▌ | -- 5.406 2‰ 0.0 ███████████████████████████▍ | -- 4.985 1‰ 0.0 █████████████████████████▎ | -- 5.057 4‰ 0.1 █████████████████████████▋ | -- 5.048 6‰ 0.1 █████████████████████████▌ | -- 5.089 6‰ 0.0 █████████████████████████▊ | hs/space-xxxxx-foldl: 5.024 5‰ 0.0 █████████████████████████▌ | -- 5.371 9‰ 0.0 ███████████████████████████▎ | -- 5.301 9‰ 0.1 ██████████████████████████▉ | -- 5.035 2‰ 0.1 █████████████████████████▌ | -- 5.037 3‰ 0.0 █████████████████████████▌ | -- 5.046 4‰ 0.0 █████████████████████████▌ | -- 5.042 4‰ 0.0 █████████████████████████▌ | hs/space-xxxxx-lenfil: 7.042 4‰ 0.0 ███████████████████████████████████▋ | -- 7.505 3‰ 0.0 ██████████████████████████████████████| -- 7.498 3‰ 0.0 ██████████████████████████████████████| -- 7.106 8‰ 0.1 ████████████████████████████████████ | -- 7.092 3‰ 0.1 ███████████████████████████████████▉ | -- 7.083 3‰ 0.0 ███████████████████████████████████▉ | -- 7.121 5‰ 0.1 ████████████████████████████████████ | hs/space-bslc8-chunk-1: n/a -- 1.054 0‰ 0.3 █████▍ | -- 1.053 1‰ 0.1 █████▍ | -- 1.094 0‰ 0.3 █████▌ | -- 1.088 0‰ 0.0 █████▌ | -- 1.096 1‰ 0.1 █████▌ | -- 1.089 0‰ 0.6 █████▌ | hs/space-bslc8-chunk-2: n/a -- 1.055 0‰ 0.3 █████▍ | -- 1.053 0‰ 0.1 █████▍ | -- 1.094 1‰ 0.3 █████▌ | -- 1.088 1‰ 0.2 █████▌ | -- 1.096 1‰ 0.2 █████▌ | -- 1.089 0‰ 0.1 █████▌ | hs/space-bslc8-chunk-3: n/a -- 1.190 4‰ 0.2 ██████ | -- 1.199 1‰ 0.3 ██████▏ | -- 1.087 1‰ 0.3 █████▌ | -- 1.051 1‰ 0.4 █████▍ | -- 1.077 1‰ 0.1 █████▌ | -- 1.053 1‰ 0.2 █████▍ | hs/space-bslc8-chunk-4: n/a -- 1.054 0‰ 0.2 █████▍ | -- 1.054 0‰ 0.2 █████▍ | -- 1.099 0‰ 0.3 █████▋ | -- 1.097 1‰ 0.1 █████▌ | -- 1.094 1‰ 0.2 █████▌ | -- 1.096 0‰ 0.0 █████▌ | Memory: Peak ------- KB hs/space-bs-c8-acc-1: 147448 ████████████████████████████████████████ | -- 147492 ████████████████████████████████████████ | -- 147608 ████████████████████████████████████████ | -- 147736 ████████████████████████████████████████ | -- 147740 ████████████████████████████████████████ | -- 147752 ████████████████████████████████████████ | -- 147752 ████████████████████████████████████████ | hs/space-bs-c8-count: 147448 ████████████████████████████████████████ | -- 147500 ████████████████████████████████████████ | -- 147612 ████████████████████████████████████████ | -- 147744 ████████████████████████████████████████ | -- 147756 ████████████████████████████████████████ | -- 147764 ████████████████████████████████████████ | -- 147776 ████████████████████████████████████████ | hs/space-bs-c8-foldlx-1: 147468 ████████████████████████████████████████ | -- 147524 ████████████████████████████████████████ | -- 147608 ████████████████████████████████████████ | -- 147756 ████████████████████████████████████████ | -- 147744 ████████████████████████████████████████ | -- 147796 ████████████████████████████████████████▏ | -- 147752 ████████████████████████████████████████ | hs/space-bs-c8-foldlx-2: 147468 ████████████████████████████████████████ | -- 147520 ████████████████████████████████████████ | -- 147608 ████████████████████████████████████████ | -- 147752 ████████████████████████████████████████ | -- 147748 ████████████████████████████████████████ | -- 147796 ████████████████████████████████████████▏ | -- 147756 ████████████████████████████████████████ | hs/space-bs-c8-foldrx: 147448 ████████████████████████████████████████ | -- 147496 ████████████████████████████████████████ | -- 147608 ████████████████████████████████████████ | -- 147732 ████████████████████████████████████████ | -- 147748 ████████████████████████████████████████ | -- 147760 ████████████████████████████████████████ | -- 147756 ████████████████████████████████████████ | hs/space-bs-c8-lenfil: 147464 ████████████████████████████████████████ | -- 147524 ████████████████████████████████████████ | -- 167176 █████████████████████████████████████████████▍| -- 147756 ████████████████████████████████████████ | -- 167300 █████████████████████████████████████████████▍| -- 147788 ████████████████████████████████████████ | -- 167320 █████████████████████████████████████████████▍| hs/space-bslc8-acc-1: 2872 ▊ | -- 2920 ▊ | -- 3048 ▉ | -- 3192 ▉ | -- 3228 ▉ | -- 3180 ▉ | -- 3196 ▉ | hs/space-bslc8-acc-2: 2872 ▊ | -- 2924 ▊ | -- 3048 ▉ | -- 3192 ▉ | -- 3228 ▉ | -- 3180 ▉ | -- 3200 ▉ | hs/space-bslc8-acc-3: 2868 ▊ | -- 2924 ▊ | -- 3052 ▉ | -- 3196 ▉ | -- 3232 ▉ | -- 3172 ▉ | -- 3208 ▉ | hs/space-bslc8-count: 1476 ▍ | -- 1520 ▍ | -- 1656 ▌ | -- 79204 █████████████████████▌ | -- 82248 ██████████████████████▎ | -- 79220 █████████████████████▌ | -- 82224 ██████████████████████▎ | hs/space-bslc8-foldl: 1552 ▍ | -- 1620 ▌ | -- 1632 ▌ | -- 85868 ███████████████████████▎ | -- 79224 █████████████████████▌ | -- 85852 ███████████████████████▎ | -- 79196 █████████████████████▌ | hs/space-bslc8-foldlx-1: 1556 ▍ | -- 1620 ▌ | -- 1636 ▌ | -- 85864 ███████████████████████▎ | -- 79224 █████████████████████▌ | -- 85852 ███████████████████████▎ | -- 79196 █████████████████████▌ | hs/space-bslc8-foldlx-2: 1552 ▍ | -- 1616 ▌ | -- 1636 ▌ | -- 85868 ███████████████████████▎ | -- 79224 █████████████████████▌ | -- 85852 ███████████████████████▎ | -- 79196 █████████████████████▌ | hs/space-bslc8-foldr-1: 169480 ██████████████████████████████████████████████| -- 169544 ██████████████████████████████████████████████| -- 149076 ████████████████████████████████████████▍ | -- 169700 ██████████████████████████████████████████████| -- 149704 ████████████████████████████████████████▋ | -- 169680 ██████████████████████████████████████████████| -- 149680 ████████████████████████████████████████▋ | hs/space-bslc8-foldr-2: 169480 ██████████████████████████████████████████████| -- 169544 ██████████████████████████████████████████████| -- 149076 ████████████████████████████████████████▍ | -- 169700 ██████████████████████████████████████████████| -- 149708 ████████████████████████████████████████▋ | -- 169676 ██████████████████████████████████████████████| -- 149676 ████████████████████████████████████████▋ | hs/space-bslc8-lenfil-1: 38632 ██████████▌ | -- 38644 ██████████▌ | -- 1940 ▌ | -- 109404 █████████████████████████████▋ | -- 82324 ██████████████████████▍ | -- 109388 █████████████████████████████▋ | -- 82304 ██████████████████████▎ | hs/space-bslc8-lenfil-2: 38628 ██████████▌ | -- 38648 ██████████▌ | -- 1940 ▌ | -- 109404 █████████████████████████████▋ | -- 82328 ██████████████████████▍ | -- 109392 █████████████████████████████▋ | -- 82300 ██████████████████████▎ | hs/space-bsl---foldlx: 1560 ▍ | -- 1616 ▌ | -- 1620 ▌ | -- 85836 ███████████████████████▎ | -- 79184 █████████████████████▌ | -- 85864 ███████████████████████▎ | -- 79208 █████████████████████▌ | hs/space-xxxxx-acc-1: 1568 ▍ | -- 1636 ▌ | -- 1636 ▌ | -- 1904 ▌ | -- 1904 ▌ | -- 1900 ▌ | -- 1904 ▌ | hs/space-xxxxx-acc-2: 1572 ▍ | -- 1636 ▌ | -- 1636 ▌ | -- 1904 ▌ | -- 1900 ▌ | -- 1904 ▌ | -- 1900 ▌ | hs/space-xxxxx-foldl: 1572 ▍ | -- 1636 ▌ | -- 1636 ▌ | -- 1900 ▌ | -- 1904 ▌ | -- 1904 ▌ | -- 1904 ▌ | hs/space-xxxxx-lenfil: 1556 ▍ | -- 1608 ▍ | -- 1604 ▍ | -- 1892 ▌ | -- 1892 ▌ | -- 1888 ▌ | -- 1888 ▌ | hs/space-bslc8-chunk-1: n/a -- 1512 ▍ | -- 1636 ▌ | -- 65192 █████████████████▋ | -- 66216 ██████████████████ | -- 65204 █████████████████▋ | -- 66224 ██████████████████ | hs/space-bslc8-chunk-2: n/a -- 1512 ▍ | -- 1640 ▌ | -- 65192 █████████████████▋ | -- 66216 ██████████████████ | -- 65204 █████████████████▋ | -- 66228 ██████████████████ | hs/space-bslc8-chunk-3: n/a -- 1548 ▍ | -- 1644 ▌ | -- 75240 ████████████████████▍ | -- 66208 ██████████████████ | -- 75216 ████████████████████▍ | -- 66224 ██████████████████ | hs/space-bslc8-chunk-4: n/a -- 1512 ▍ | -- 1636 ▌ | -- 76188 ████████████████████▋ | -- 79232 █████████████████████▌ | -- 76176 ████████████████████▋ | -- 79204 █████████████████████▌ |

firefly:
I added Don's three benchmarks and redid all my benchmarks with: ghc 6.6.1 ghc 6.8.2 ghc 6.8.2 + bytestring 0.9.0.2 ghc 6.9.20071119 ghc 6.9.20071119 + bytestring 0.9.0.2 ghc head-as-of-yesterday-around-noon ghc head-as-of-yesterday-around-noon + bytestring 0.9.0.2
One thing that shows up very clearly in the graphs is that the memory situation is bad and that Don's recent fix only really solves the problem on 6.8.2, not on head.
Can you pinpoint specific programs, with either ghc 6.8.2 or head, that allocate too much? That's likely to be a library issue that I can address in ByteString. I'd need the source program, whether it is with ghc 6.8.2 or ghc head, and what compiler flags (and input size). Low level loop/performance issues go to SimonM (i.e. if its allocating fine, the core is perfect, but just too slow). -- Don
participants (2)
-
Don Stewart
-
Peter Lund