~/talk

Hot Call-Chain Inlining for the Glasgow Haskell Compiler

Talkat GPCE 2024 · 2024-10-21..10-22· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

Proposes a profile-directed hot call-chain inlining pass for GHC that extracts call chains from the AST, marks functions with INLINE/INLINABLE pragmas during desugaring, and feeds GHC’s existing pragma machinery; experiments use GHC profiling and modify 17 real-world Stackage packages. Machine learning approaches fail; the pragma-based tool yields a geometric-mean runtime speedup of 9% over default GHC (10% when combined with existing developer pragmas), about 1% mean code-size growth (two packages 6–7%).

AI-written summary · about

  1. 0:00Hot call-chain inlining intro
  2. 1:52Why inlining matters in Haskell
  3. 3:57GHC inliner limitations
  4. 5:01Genetic algorithms for inlining
  5. 7:50Neural networks for inlining
  6. 8:34Source-level inlining pragmas
  7. 10:03Performance gains from pragmas
  8. 12:11Hot call chains and control flow
  9. 14:17Profiling hotspots with GHC
  10. 15:43Experimental setup
  11. 16:47Naive inlining pragmas
  12. 17:31Results from hot pragmas
  13. 19:59Code size and safety
  14. 20:21Conclusion and future
  15. 20:45Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.