Vidush Singhal
October 30, 2026
12p EST
WANG 1004 (join in)

Traditional pointer-based representations of recursive algebraic data types provide an intuitive programming model but frequently incur significant performance penalties due to poor spatial locality. While serialized data representations mitigate these performance bottlenecks by enhancing spatial locality, operating directly on serialized data introduces substantial complexity and may compromise type safety. To address these challenges, the Gibbon compiler employs a type-based approach that enables high-level programming over serialized data. In this talk, we examine compiler techniques for optimizing the performance of functional programs that use irregular, recursive tree-like algebraic data types. We review the foundational work implemented in the Gibbon compiler and examine ongoing and future directions in optimizing data structure layouts. Specifically, we detail layout transformation dimensions such as field re-ordering and field factoring (Array of Structures to Structure of Arrays) to further improve spatial locality, enable vectorization, and enhance overall runtime performance.

About Vidush Singhal

Vidush Singhal is currently a Ph.D. student in the Department of Electrical and Computer Engineering at Purdue University. He is advised by Professor Milind Kulkarni. His research primarily focuses on compilers, with an emphasis on using static and whole-program analysis to drive program transformations. He is particularly interested in enhancing the runtime performance of irregular programs, prioritizing execution speed even at the cost of higher compile times.