DETECTION AND OPTIMIZATION OF SUSPENSION-FREE LOGIC PROGRAMS

Citation
S. Debray et al., DETECTION AND OPTIMIZATION OF SUSPENSION-FREE LOGIC PROGRAMS, The journal of logic programming, 29(1-3), 1996, pp. 171-194
Citations number
22
Categorie Soggetti
Computer Sciences, Special Topics","Computer Science Theory & Methods
ISSN journal
07431066
Volume
29
Issue
1-3
Year of publication
1996
Pages
171 - 194
Database
ISI
SICI code
0743-1066(1996)29:1-3<171:DAOOSL>2.0.ZU;2-D
Abstract
In recent years, language mechanisms to suspend, or delay, the executi on of goals until certain variables become bound have become increasin gly popular in logic programming languages. While convenient, such mec hanisms can make control flow within a program difficult to predict at compile time, and therefore render many traditional compiler optimiza tions inapplicable. Unfortunately, this performance cost is also incur red by programs that do not use any delay primitives: In this paper, w e describe a simple dataflow analysis for detecting computations where suspension effects can be ignored, and discuss several low-level opti mizations that rely on this information. Our algorithm has been implem ented in the je system. Optimizations based on information it produces result in significant performance improvements, demonstrating speed c omparable to or exceeding that of optimized C programs.