The Gibbon Compiler: Accelerating a small subset of Haskell
Gibbon is a compiler for a small subset of Haskell. Gibbon transforms recursive, pure functions to operate efficiently on dense, mostly-serialized data representations. Previous performance-focused, non-GHC Haskell implementations emphasized numerical computing with arrays or eliminating overhead from control constructs. Gibbon instead focuses on data representations for recursive sum types and functions on them. Tree traversals in Gibbon are usually an order of magnitude faster than GHC. Gibbon values also can be processed directly from disk, much like GHC’s Compact Normal Form, but more compact, offering a 3.2$\times$ geomean speedup over CNF across our benchmark suite.
In this talk, we’ll summarize the work on Gibbon thus far (PLDI19, ECOOP17), and ongoing development. The Gibbon project’s eventual goal is to integrate with GHC: to compile a subset of your Haskell program through Gibbon, while seamlessly calling that accelerated code from regular GHC programs utilizing the full library ecosystem.
Fri 23 Aug
|13:30 - 13:53|
Jurriaan HageUtrecht University, Netherlands
|13:53 - 14:16|
|14:16 - 14:40|
|14:40 - 15:00|