Skip to content

Retypechecking the loop in --make mode is super-linear when there are many .hs-boot modules

At time of writing master is at commit 14457cf6.

In GhcMake.hs, both upsweep and parUpsweep call getModLoop for each module. getModLoop is (at least) linear when called on a .hs-boot ModSummary. See comments in Phab:3646.

This isn't a big deal in practice, since .hs-boot modules are uncommon, but it does irk me, and it will be easy to fix. Fixing this would also be an opportunity to de-duplicate some logic in upsweep and parUpsweep.

ccing niteria as he has worked with this code recently.

Trac metadata
Trac field Value
Version 8.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC niteria
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information