Sciweavers

AOSD
2013
ACM

Reify your collection queries for modularity and speed!

10 years 3 days ago
Reify your collection queries for modularity and speed!
Modularity and efficiency are often contradicting requirements, such that programers have to trade one for the other. We analyze this dilemma in the context of programs operating on collections. Performance-critical code using collections need often to be hand-optimized, leading to non-modular, brittle, and redundant code. In principle, this dilemma could be avoided by automatic collection-specific optimizations, such as fusion of collection traversals, usage of indexing, or reordering of filters. Unfortunately, it is not obvious how to encode such optimizations in terms of ordinary collection APIs, because the program operating on the collections is not reified and hence cannot be analyzed. We propose SQuOpt, the Scala Query Optimizer—a deep embedding of the Scala collections API that allows such analyses and optimizations to be defined and executed within Scala, without relying on external tools or compiler extensions. SQuOpt provides the same “look and feel” (syntax and s...
Paolo G. Giarrusso, Klaus Ostermann, Michael Eichb
Added 27 Apr 2014
Updated 27 Apr 2014
Type Journal
Year 2013
Where AOSD
Authors Paolo G. Giarrusso, Klaus Ostermann, Michael Eichberg, Ralf Mitschke, Tillmann Rendel, Christian Kästner
Comments (0)