Terms are constructed dynamically, even when they are are constant at compile time. Constant term caching is a transformation that lifts out constant terms and constructs them once at program initialization time. Advantages * repeated construction of the same term becomes O(1) Drawbacks * constant terms that would never be constructed dynamically are now constructed * the order of term construction changes, this may affect strategies such as =new= * constant terms can no longer be garbage collected Lifting may done by nested function calls during initialization or by storing the constant term in a string (either in textual or BinaryATermFormat) and reading that in at run-time. -- Main.EelcoVisser - 09 Dec 2001
Implemented in StrategoRelease07. Performance effects should be evaluated. -- Main.EelcoVisser - 16 Jan 2002 ----- CategoryDone | ToDo | StrategoOptimization