Skip to content

Flag adjustments for GHC-9.4 and tag inference. #827

Open
@AndreasPK

Description

@AndreasPK

In ghc-9.4 the tag inference optimization finally landed. This is great news for containers as it was one of the main motivations for this optimization. And just by using the new GHC container performance should improve.

However in order to get the most out of this containers should enable -fworker-wrapper-cbv for most, or all of it's modules.

There are some edge cases around W/W + RULES why -fworker-wrapper-cbv can't be on by default in 9.4. but I think these are not very relevant for containers and even when they occur downstream users can fix any resulting RULE breakage by proper use of INLINE[ABLE].

  • When I benchmarked it enabling this flag for all of containers was a benefit for ghc.
  • In the container benchmarks it was giving a ~10% improvement on many operations when enabled.

9.4 isn't out yet. But to avoid this falling by the wayside I'm opening this issue now.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions