Title :
A conservative technique to improve deterministic evaluation of logic programs
Author :
Roychoudhury, Abhik ; Ramakrishnan, C.R. ; Ramakrishnan, I.V. ; Sekar, R.
Author_Institution :
Dept. of Comput. Sci., State Univ. of New York, Stony Brook, NY
Abstract :
The performance of logic programs can be significantly improved by reducing nondeterminism in their evaluation using techniques for early pruning of computation paths that would eventually fail. Using static information gleaned from the program, we can identify (simple) conditions that must hold for certain computation paths to succeed, and test them before searching along those paths. However, naive introduction of such tests can actually lead to performance degradation since tests may be repeated along a branch, and also because the tests themselves may create additional choice points. We therefore develop a program transformation algorithm that enables us to introduce only those tests that facilitate early pruning of failure branches, while providing formal guarantees against any performance degradation. Our transformation is based on a novel polyvariant program specialization technique that can reason about the relative execution times of the original and transformed programs. We present results of a prototype implementation that shows the effectiveness of our approach
Keywords :
logic programming; partial evaluation (compilers); type theory; computation paths; conservative technique; deterministic evaluation; early pruning; failure branches; formal guarantees; logic programs; performance degradation; polyvariant program specialization technique; program transformation algorithm; relative execution times; simple conditions; static information; Computer science; Degradation; Logic programming; Performance evaluation; Performance gain; Performance loss; Prototypes; Testing;
Conference_Titel :
Computer Languages, 1998. Proceedings. 1998 International Conference on
Conference_Location :
Chicago, IL
Print_ISBN :
0-8186-8454-2
DOI :
10.1109/ICCL.1998.674170