Opened 5 years ago

Closed 5 years ago

#9546 closed bug (fixed)

filterM is not a good consumer for list fusion

Reported by: dfeuer Owned by:
Priority: normal Milestone:
Component: Compiler Version: 7.9
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

This one shouldn't cause any wonkiness; it just updates filterM to fuse is much the same way mapM does.

Attachments (1)

filterM.diff (953 bytes) - added by dfeuer 5 years ago.
Make filterM a good consumer

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by dfeuer

Attachment: filterM.diff added

Make filterM a good consumer

comment:1 Changed 5 years ago by dfeuer

Status: newpatch

comment:2 Changed 5 years ago by nomeata

LGTM. (I’m a bit doubtful about INLINEing such a rather large function, but mapM and sequence are also INLINE, so if it is ok for them, I guess it ought to be ok for this).

comment:3 in reply to:  2 Changed 5 years ago by dfeuer

Replying to nomeata:

LGTM. (I’m a bit doubtful about INLINEing such a rather large function, but mapM and sequence are also INLINE, so if it is ok for them, I guess it ought to be ok for this).

Would you be happier if it did a dance with RULES?

comment:4 Changed 5 years ago by nomeata

I’d be happier if we had numbers (time, allocation, binary size). Have you started to play around with the list-fusion-lab framework?

comment:5 in reply to:  4 Changed 5 years ago by dfeuer

Replying to nomeata:

I’d be happier if we had numbers (time, allocation, binary size). Have you started to play around with the list-fusion-lab framework?

No, not yet. Unfortunately, finding actual uses to benchmark against is not so easy. Also unfortunately, GHC does not currently build for me.

comment:6 Changed 5 years ago by Joachim Breitner <mail@…>

In 96a4062a7e7587592829c045b3b12c755cc8e329/ghc:

Make filterM a good consumer

analogously to mapM. Fixes #9546.

comment:7 Changed 5 years ago by nomeata

Resolution: fixed
Status: patchclosed
Note: See TracTickets for help on using tickets.