6 ms·
There is some very interesting work in the area of "choosing the right data structures". For example "An introduction to data representation synthesis" (http:/
by nano_o 13y ago
There is some very interesting work in the area of "choosing the right data structures".
For example "An introduction to data representation synthesis" (http://theory.stanford.edu/~aiken/publications/papers/cacm13.pdf http://theory.stanford.edu/~aiken/publications/papers/cacm13...) presents a technique to do the following:
1) specify what the data structure should do using relational algebra (like for data bases)
2) automatically generate a data structure that is optimized for your specific hardware and workload.
A big advantage is that you can optimize for different hardware and workloads without changing your code.
Also, the relational specification is much easier to get right than an optimized implementation.
It has also been extended to concurrent data structures:
http://theory.stanford.edu/~hawkinsp/papers/pldi12concurrent.pdf http://theory.stanford.edu/~hawkinsp/papers/pldi12concurrent...