Automated selective caching for reference attribute grammars
Author
Editor
- Brian Malloy
- Steffen Staab
- Mark van den Brand
Summary, in English
Reference attribute grammars (RAGs) can be used to express semantics as super-imposed graphs on top of abstract syntax trees (ASTs). A RAG-based AST can be used as the in-memory model providing semantic information for software language tools such as compilers, refactoring tools, and meta-
modeling tools. RAG performance is based on dynamic attribute evaluation with caching. Caching all attributes gives optimal performance in the sense that each attribute is evaluated at most once. However, performance can be further improved by a selective caching strategy, avoiding caching overhead where it does not pay off. In this paper we present a profiling-based technique for automatically finding a good caching configuration. The technique has been evaluated on a generated Java compiler, compiling programs from the Jacks test suite and the DaCapo benchmark suite.
modeling tools. RAG performance is based on dynamic attribute evaluation with caching. Caching all attributes gives optimal performance in the sense that each attribute is evaluated at most once. However, performance can be further improved by a selective caching strategy, avoiding caching overhead where it does not pay off. In this paper we present a profiling-based technique for automatically finding a good caching configuration. The technique has been evaluated on a generated Java compiler, compiling programs from the Jacks test suite and the DaCapo benchmark suite.
Department/s
Publishing year
2011
Language
English
Pages
2-21
Publication/Series
Lecture Notes in Computer Science
Volume
6563
Document type
Conference paper
Publisher
Springer
Topic
- Computer Science
Conference name
SLE'10: 3rd International Conference on Software Language Engineering
Conference date
2010-10-12
Status
Published
Project
- Embedded Applications Software Engineering
ISBN/ISSN/Other
- ISBN: 978-3-642-19439-9