Deserialize IfaceId more lazily
ClosedPublic

Authored by rwbarton on Mar 3 2017, 7:20 AM.

Details

Summary

This change sped up the total validate --build-only time by 0.8%
on my test system; hopefully a representative result.

I didn't bother making the other constructors lazy because for
IfaceData and IfaceClass we need to pull on some of the fields
in loadDecl, and all the others seem much more rare than IfaceId.

Test Plan

validate, perf

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
rwbarton created this revision.Mar 3 2017, 7:20 AM
bgamari accepted this revision.Mar 3 2017, 8:27 AM

Looks good to me.!

This revision is now accepted and ready to land.Mar 3 2017, 8:27 AM
This revision was automatically updated to reflect the committed changes.

IdInfo is already lazy, BTW. Maybe this should just cover the ty and details.