Opened 22 months ago

Last modified 9 months ago

#14509 new task

Consider adding new stg_ap_* functions

Reported by: dobenour Owned by:
Priority: normal Milestone: 8.10.1
Component: Runtime System Version: 8.2.1
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:


Currently, the RTS has a fixed set of stg_ap_* functions. There are two problems with this:

  1. All programs pay for these functions, even programs that don’t use them. Furthermore, it is not possible for new ones to be generated by GHC for certain cases.
  2. The set included in the RTS may not be optimal.

(1) is a lot of work, but dealing with (2) should be “just” a matter of hunting down which functions would be useful. I would start with ByteString, Text, and other highly optimized libraries, some of which (such as ByteString) are very widely used.

Change History (4)

comment:1 Changed 22 months ago by bgamari

The approach sounds plausible to me.

comment:2 Changed 20 months ago by bgamari


This ticket won't be resolved in 8.4; remilestoning for 8.6. Do holler if you are affected by this or would otherwise like to work on it.

comment:3 Changed 15 months ago by bgamari


These won't be addressed in GHC 8.6.

comment:4 Changed 9 months ago by osa1


Bumping milestones of low-priority tickets.

Note: See TracTickets for help on using tickets.