Open
Description
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.