Data-Centric Metaprogramming with ildl
iLDL is a Scala compiler transformation that enables data-centric metaprogramming. Using the ildl compiler plugin, developers can target any composed data structure within their program and designate a better memory representation for it. Based on this information, the Scala compiler automatically replaces the original data structure by the improved representation without any change on the programmer side.
We have tested several cases of data-centric metaprogramming, with exceptional results. We also have a paper and a poster describing the technique.
Paper and Poster
Benchmarks
Several benchmarks are available on the project wiki:
- Tweaking the Data Encoding
- Tweaking Collections
- Lazyfying Operations (Deforestation)
- Improving Locality
You can find more on the transformation here.
Other Talks
EcoCloud 2015
Comments
Comments are always welcome! But to make the best use of them, please consider this:
- If you have questions or feedback regarding the content of this page, please leave us a comment!
- If you have general questions about the miniboxing plugin, please ask on the mailing List.
- If you found a bug, please let us know on the github issue tracker.
Thanks! Looking forward to your messages!
comments powered by Disqus