#6084: Add stg_ap_pnnv and related call patterns ---------------------------------+------------------------------------------ Reporter: SimonMeier | Owner: simonmar Type: feature request | Status: new Priority: normal | Milestone: 7.8.1 Component: Runtime System | Version: 7.4.1 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------
Comment(by SimonMeier): @igloo: I have implemented the unboxed continuation calls in the past and I was astonished that they were slower than the boxed versions. I didn't know enough about the RTS at that time to understand whats going on. Once I read the eval/apply paper and the corresponding GHC sources the slowdown was however no longer surprising. Currently, unknown calls to IO functions with unboxed arguments are expensive because the 'apply' is executed in a one by one fashion. This feature request would change that. The change only improves unknown calls with unboxed arguments and a final void argument. Attoparsec does not profit, as it does not require side- effects. The binary builder could profit, but in its current form it would additipnally require the stg_ap_pnnnv and stg_ap_nnnv call patterns. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6084#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs