Deserialize IfaceId more lazily
authorReid Barton <rwbarton@gmail.com>
Fri, 3 Mar 2017 20:49:38 +0000 (15:49 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 3 Mar 2017 20:49:39 +0000 (15:49 -0500)
commit644625449a9b6fbeb9a81f1a7d0e7d18424fb707
treeaa0aac1e32014292d624c9592d871e63b94593a9
parent10d28d0ababe52a705c10d450869d7a61063c4ae
Deserialize IfaceId more lazily

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

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D3269
compiler/iface/IfaceSyn.hs