Skip to content

Performance regression relative to 6.10

The attached program runs more slowly when compiled with 6.12 compared to 6.10. The current HEAD is also worse than 6.10, but not as bad as 6.12.

The results are below, on x86-64/Linux, first with -O:

                time       allocation
6.10.2           9.6s      6.5GB
6.12.20091011   11.0s      7.5GB
6.13.20091111   10.2s      6.2GB

Interestingly, -O2 makes things even worse with 6.12, but makes things slightly better with both 6.10 and 6.13:

                time       allocation
6.10.2           9.5s      6.5GB
6.12.20091011   11.8s      7.5GB
6.13.20091111   10.1s      6.2GB

It may be that there is some degradation due to the new IO library, since the program generates a fair amount of output. That may account for some of the difference between 6.10.2 and 6.12/6.13, but it doesn't account for the difference between 6.12 and 6.13, which are both using the new IO library.

The program is in one module, compile with no special options. To run it:

./pHlcm mushroom.dat 100 >/dev/null +RTS -s
Trac metadata
Trac field Value
Version 6.10.4
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information