Loading...
Please wait, while we are loading the content...
Data interface + algorithms = efficient programs: separating logic from representation to improve performance
| Content Provider | ACM Digital Library |
|---|---|
| Author | De Meuter, Wolfgang Marr, Stefan De Wael, Mattias |
| 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. |
| Starting Page | 1 |
| Ending Page | 4 |
| Page Count | 4 |
| File Format | |
| ISBN | 9781450329149 |
| DOI | 10.1145/2633301.2633303 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2014-07-28 |
| Publisher Place | New York |
| Access Restriction | Subscribed |
| Subject Keyword | Algorithms Data structures Performance |
| Content Type | Text |
| Resource Type | Article |