Abstract
A number of memoisation techniques to eliminate computational redundancy from a large and automatically detectable class of nonlinear functions are introduced. The techniques make use of memo-tables and memo-functions to improve the run time efficiency of functions exhibiting commutative redundancy. A memo-function remembers all the arguments to which it has been applied, together with the corresponding results from them, by storing them in a memo-table. The schemes discussed use a separate transient memo-table for each high-level application of the function. This contrasts with the technique of full memoisation, in which memo-tables are persistent. A basic memoisation scheme is introduced that is further refined to give a number of other more efficient strategies to reduce the growth of these tables during evaluation. These strategies make use of the nature of the dependency graph of functions exhibiting commutative redundancy to make intelligent decisions concerning memo-table insertion and deletion operations. More precisely, the level of sharing of nodes in the dependency graph of functions is used to expedite the deletion of obsolete memo-table entries. When compared to contemporary program transformation schemes, the techniques presented achieve comparable improvements in efficiency while being mechanical. In addition, these techniques are more generally applicable and require less compile-time deductive capacity than the corresponding program transformation schemes. The paper also outlines an application of one of the techniques to Queueing Networks.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.