Skip to content

Improvements from !5349: `diffUFM`, rename to `-ddump-dmdanal`, stricten `substBndr`

Sebastian Graf requested to merge wip/sgraf-improvements into master

I'm in the process of scavenging !5349. I rebased a few helpful improvements and would like to see them merged. In particular:

  • bca2c1b0 introduces diffUFM to aid debugging and improve trace messages when huge UniqFMs are involved
  • e3d71a6e, ed603273 fixes a pet peeve of mine: rename -ddump-stranal to -ddump-dmdanal, deprecate the former
  • 6a418e48 improves performance of cloneBndr and substBndr by making them strict in the returned InScopeSet. Apparently this improved allocations by 25% at the time. It's the only functional change, so we can simply look at the measurements in CI.

Perf results:

T9233(normal) ghc/alloc    672,488,656    663,083,216  -1.4% GOOD
T9675(optasm) ghc/alloc    423,029,256    415,812,200  -1.7%

    geo. mean                                          -0.1%
    minimum                                            -1.7%
    maximum                                            +0.1%
Edited by Sebastian Graf

Merge request reports