Opened 10 years ago

Closed 8 years ago

#3627 closed bug (fixed)

Profiling loses eta-expansion opportunities unnecessarily

Reported by: simonpj Owned by: simonmar
Priority: normal Milestone: 7.4.1
Component: Profiling Version: 6.10.4
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:


If I have

f = scc "f" 
    let x = scc "g" y in
    \z -> ...

then we don't see that f has arity 1. Because SimplUtils.mkLam only does eta expansion if there is at least one value lambda.

I'm making a ticket for this so that we don't forget it, but it's not very high priority.

Change History (3)

comment:1 Changed 10 years ago by simonmar

Type of failure: Runtime performance bug

comment:2 Changed 8 years ago by simonmar

Component: CompilerProfiling
Milestone: _|_7.4.1
Owner: set to simonmar
Priority: lownormal

comment:3 Changed 8 years ago by simonmar

Resolution: fixed
Status: newclosed

I don't think this is an issue any more - x will get floated out, and the scc can be pushed inside the lambda.

Note: See TracTickets for help on using tickets.