Title
Data interface + algorithms = efficient programs: separating logic from representation to improve performance
Abstract
Finding the right algorithm--data structure combination is easy, but finding the right data structure for a set of algorithms is much less trivial. Moreover, using the same data representation throughout the whole program might be sub-optimal. Depending on several factors, often only known at runtime, some programs benefit from changing the data representation during execution. In this position paper we introduce the idea of Just-In-Time data structures, a combination of a data interface and a set of concrete data representations with different performance characteristics. These Just-In-Time data structures can dynamically swap their internal data representation when the cost of swapping is payed back many times in the remainder of the computation. To make Just-In-Time data structures work, research is needed at three fronts: 1. We need to better understand the synergy between different data representations and algorithms; 2. We need a structured approach to handle the transitions between data representations; 3. We need descriptive programming constructs to express which representation fits a program fragment best. Combined, this research will result in a structured programming approach where separating data interface from data representation, not only improves understandability and maintainability, but also improves performance through automated transitions of data representation.
Year
DOI
Venue
2014
10.1145/2633301.2633303
ICOOOLPS@ECOOP
Keywords
Field
DocType
algorithms,data structures,performance,performance measures
Programming constructs,Abstract data type,Data structure,External Data Representation,Programming language,Computer science,Remainder,Algorithm,Theoretical computer science,Structured programming,Maintainability,Computation
Conference
Citations 
PageRank 
References 
1
0.36
10
Authors
3
Name
Order
Citations
PageRank
Mattias De Wael1253.77
Stefan Marr212421.54
Wolfgang De Meuter381790.11