Cornell University
Library
Cornell UniversityLibrary

eCommons

Help
Log In(current)
  1. Home
  2. Cornell University Graduate School
  3. Cornell Theses and Dissertations
  4. A Language for Generating Flat Data Structures

A Language for Generating Flat Data Structures

File(s)
Xing_cornell_0058O_12668.pdf (188.73 KB)
Permanent Link(s)
https://doi.org/10.7298/202f-fr59
https://hdl.handle.net/1813/126275
Collections
Cornell Theses and Dissertations
Author
Xing, Michael
Abstract

Data structures represented with pointers are typically less performant than the same data flattened into an array. Optimizations such as turning an array of structs into a struct of arrays have been known to improve performance by taking advantage of spatial locality, and writing code that operates directly on serialized data eliminates the overhead of serialization and deserialization. However, pointer representations are typically more ergonomic and intuitive to code against compared to flattened and packed data. I introduce a new domain specific language that allows users to define data types with natural pointer representations. The compiler then creates flattened versions of the data in Rust, with convenience methods that allow the user to write code with minimal changes. The language enables the user to customize the specific layout of the flattened version of each data structure while preserving the Rust interface, making it easy to experiment with layouts to find the best performance. When tested on code that operates on real genomic data, significant speed improvements were found by swapping out the pointer data structures for the flattened version, with minimal code changes needed.

Description
39 pages
Date Issued
2026-05
Keywords
data structures
•
flattened
•
packed
•
serialized
Committee Chair
Sampson, Adrian
Committee Member
Campana, Andrew
Degree Discipline
Computer Science
Degree Name
M.S., Computer Science
Degree Level
Master of Science
Rights
Attribution-ShareAlike 4.0 International
Rights URI
https://creativecommons.org/licenses/by-sa/4.0/
Type
dissertation or thesis

Site Statistics | Help

About eCommons | Policies | Terms of use | Contact Us

copyright © 2002-2026 Cornell University Library | Privacy | Web Accessibility Assistance