Skip to content

Add an explicit TopLevelFlag to FamilyDecl

Alan Zimmerman requested to merge wip/az/famdecl-toplevel-flag into master

Similar to LexicalFixity, the flag keeps track of whether a FamilyDecl was declared at the top level or as an associated type.

This simplifies pretty-printing.

As an unexpected bonus, it reduces compile-time memory usage (in my local compile)

Performance Metrics (test environment: local):

T12234(optasm)            compile_time/bytes allocated                 77844224.000
                          (baseline @ HEAD~2)                          79620216.000  [decreased, -2.2%]
T12425(optasm)            compile_time/bytes allocated                132384800.000
                          (baseline @ HEAD~2)                         134023808.000  [decreased, -1.2%]
T13035(normal)            compile_time/bytes allocated                119133312.000
                          (baseline @ HEAD~2)                         120843728.000  [decreased, -1.4%]
T5837(normal)             compile_time/bytes allocated                 49912328.000
                          (baseline @ HEAD~2)                          51603824.000  [decreased, -3.3%]

Some stats have changed If this is expected, allow changes by appending the git commit message with this:

Metric Decrease:
    T12234
    T12425
    T13035
    T5837

Merge request reports