MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Effectiveness of optimizing compilation for clp(r (1996) [3 citations — 1 self]

Download:
pdf | ps
by Andrew D. Kelly, Andrew Macdonald, Kim Marriott, Peter J. Stuckey, Roland H. C. Yap
In Proceedings of the Joint International Conference and Symposium on Logic Programming
http://www.cs.mu.oz.au/~pjs/papers/version4.ps.gz
Add To MetaCart

Abstract:

Constraint Logic Programming (CLP) languages extend logic programming by allowing constraints from different domains such as real numbers or Boolean functions. They have proved to be ideal for expressing problems that require interactive mathematical modelling and complex combinatorial optimization problems. However, CLP languages have mainly been considered as research systems, useful for rapid prototyping, but not really competitive with more conventional programming languages when performance is crucial. One promising approach to improving the performance of CLP systems is the use of powerful program optimizations to reduce the cost of constraint solving. We extend work in this area by describing a new optimizing compiler for the CLP language CLP(R). The compiler implements six powerful optimizations: reordering of constraints, bypass of the constraint solver, splitting and dead code elimination, removal of redundant constraints, removal of redundant variables, and specialization of constraints which cannot fail. We systematically evaluate the effectiveness of each optimization in isolation and also in combination. Our empirical evaluation of the compiler verifies that optimizing compilation can be made efficient enough to allow compilation of real-world programs and that it is worth performing such compilation because it gives significant time and space performance improvements. 1

Citations

291 R.H.C.: The CLP(R ) language and system – Jaffar, Michaylov, et al. - 1992
192 Warren’s Abstract Machine: A Tutorial Reconstruction – Ait-Kaci - 1991
114 Constraint logic programming – Jaar, Lassez - 1987
104 Compile-time Derivation of Variable Dependency Using Abstract Interpretation – Muthukumar, Hermenegildo - 1992
94 Experimental Evaluation of a Generic Abstract Interpretation Algorithm for Prolog – Charlier, Hentenryck - 1994
53 The 3 R's of optimizing constraint logic programs: Refinement, removal and reordering – Marriott, Stuckey - 1993
32 An Abstract Machine for CLP(R – Jaffar, Michaylov, et al. - 1992
32 on a MIPS: Results from a Prolog Compiler for a RISC – LIPS - 1990
32 The benefits of global dataflow analysis for an optimizing Prolog compiler – Roy, Despain - 1990
31 An optimizing compiler for CLP(R – Kelly, Macdonald, et al. - 1996
29 Incremental Analysis of Logic Programs – Hermenegildo, Puebla, et al. - 1995
20 Some Global Compile-Time Optimizations for CLP(R – Jrgensen, Marriot, et al. - 1991
9 Redundancy of variables in CLP(R – Macdonald, Stuckey, et al. - 1993
2 Optimizing compilation for CLP(R – Marriott, Sndergaard, et al. - 1994
1 Source to source optimizations of CLP(! Lin – Ramachandran, Hentenryck - 1995