Today, software engineering practices focus on finding the single right data representation (i.e., data structure) for a program. The right data representation, however, might not exist: relying on a single representation of the data for the lifetime of the program can be suboptimal in terms of performance. We explore the idea of developing data structures for which changing the data representation is an intrinsic property. To this end we introduce Just-in-Time Data Structures, which enable representation changes at runtime, based on declarative input from a performance expert programmer. Just-in-Time Data Structures are an attempt to shift the focus from finding the ``right'' data structure to finding the right sequence of data representations. We present JitDS-Java, an extension to the Java language, to develop Just-in-Time Data Structures. Further, we show two example programs that benefit from changing the representation at runtime.
Thu 29 Oct
|13:30 - 13:52|
Mattias De WaelVrije Universiteit Brussel, Stefan MarrINRIA, France, Joeri De KosterVrije Universiteit Brussel, Jennifer B. SartorVrije Universiteit Brussel, Wolfgang De MeuterVrije Universiteit BrusselLink to publication DOI
|13:52 - 14:15|
|14:15 - 14:37|
Junsong LiBrown University, Justin Pombrio, Joe Gibbs PolitzSwarthmore College, Shriram KrishnamurthiBrown UniversityMedia Attached
|14:37 - 15:00|