u/adamgundryin r/haskell • Recommends
On “Parsing combinators representation.”
#serialization#cborg#deepembedding
349K subscribers • 62 videos on Hallway
Advanced. Deep dive for people who know the field.
2.5K views11 years ago2 recommendations
Programming languagesSystems programmingHaskellPerformance and optimization
Duncan Coutts presents a case study on low-level optimization in Haskell, using deep embeddings and interpreters to speed up binary serialization.
Google Tech Talk May 29, 2015 ("show more" for more information) Presented by Duncan Coutts wiki.haskell.org/ZuriHac2015#Duncan_Coutts ABSTRACT This talk is a case study in low level optimization in Haskell. We have existing libraries for binary serialization but the mainstream ones use bad formats, and could always be faster. We will look at new work to improve on the existing libraries, to use a new better format, and to dramatically improve performance. We will go into the details of a number of standard and new techniques for getting a good combination of performance with features and flexibility. - High+low level approach to eliminating unnecessary allocations in deserialization - Surprising use of deep embeddings and interpreters - Moving work from compiled code to an interpreter - Rewrite rules to improve interpreted code - Deep embedding of composition to give statically allocated descriptions of branching programs - Types to safely use unsafe low level data structures - Looking at STG code to see allocations and other problems - Fast path / slow path tricks - Explicit control stacks - ABIs / calling conventions for unknown functions There'll be plenty of code, types and benchmarks. Slides for this talk are available here: github.com/meiersi/HaskellerZ/blob/master/meetups/20150529-Z…What people say. Recommended for its insights into low-level Haskell optimization and the surprising use of deep embeddings for performance.
u/adamgundryin r/haskell • Recommends
On “Parsing combinators representation.”
u/dcouttsin r/haskell • Recommends
On “Better, faster binary serialization :: transferable tricks and tips for other libraries”
u/jlimpergin r/haskell • Mentions
On “Stack traces in GHCi, coming in GHC 8.0.1 · Simon Marlow”