Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore the challenges and solutions of optimizing domain-specific languages (DSLs) through a detailed examination of Icicle, a high-performance query language for time-series data processing. Learn how DSLs can achieve the abstraction benefits of high-level languages while competing with low-level languages on performance through specialized optimizations that aren't feasible for general-purpose languages. Discover the practical implementation of various optimization techniques including partial evaluation, common subexpression elimination, and specialized parsing code that enables queries to run faster than equivalent hand-written C code. Understand how Icicle's type system enforces single-pass data processing and enables query fusion for multiple operations over the same dataset. Gain insights into both high-level and low-level optimization strategies that can be applied to your own DSL implementations, and see how the focused scope of domain-specific languages provides unique opportunities for performance-critical systems optimization.
Syllabus
Icicle: The Highs & Lows of Optimizing DSLs • Jacob Stanley • YOW! 2016
Taught by
GOTO Conferences