The cost of backtracking has been identified as one of the bottlenecks in achieving peak performance in compiled Prolog programs. Much of the backtracking in Prolog programs is shallow, i.e. is caused by unification failures in the head of a clause when there are more alternatives for the same procedure, and so special treatment of this form of backtracking has been proposed as a significant optimisation. This paper describes a modified WAM which optimises shallow backtracking. Four different implementation approaches are compared. A number of benchmark results are presented, measuring the relative tradeoffs between compilation time, code size, and run time. The results show that the speedup gained by this optimisation can be significant
Tracing by automatic program source instrumentation has major advantages over compiled code instrume...
Several techniques for implementing Prolog in a efficient manner have been devised since the origina...
Prolog spends about 50% of its execution time in unification. It is therefore worthwhile to investig...
The cost of backtracking has been identified as one of the bottlenecks in achieving peak performance...
Specialization of programs and meta-programs written in high-level languages has been an active are...
AbstractThe generation of efficient code for Prolog programs requires sophisticated code transformat...
An intelligent backtracking algorithm to prune the search space over which a Prolog interpreter sear...
We discuss an efficient implementation of the Warren Abstract Machine (WAM) [12] in detail. Special ...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
AbstractCurrent WAM-type compilers employ incremental compilation, in which each procedure is compil...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
The authors outline an experiment on Warren abstract machine (WAM) based compiler technology. In pre...
AbstractThis paper presents a scheme for intelligent backtracking in PROLOG programs. Rather than do...
AbstractTracing by automatic program source instrumentation has major advantages over compiled code ...
An algorithm for improving the performance of a Prolog interpreter is introduced. The algorithm, unl...
Tracing by automatic program source instrumentation has major advantages over compiled code instrume...
Several techniques for implementing Prolog in a efficient manner have been devised since the origina...
Prolog spends about 50% of its execution time in unification. It is therefore worthwhile to investig...
The cost of backtracking has been identified as one of the bottlenecks in achieving peak performance...
Specialization of programs and meta-programs written in high-level languages has been an active are...
AbstractThe generation of efficient code for Prolog programs requires sophisticated code transformat...
An intelligent backtracking algorithm to prune the search space over which a Prolog interpreter sear...
We discuss an efficient implementation of the Warren Abstract Machine (WAM) [12] in detail. Special ...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
AbstractCurrent WAM-type compilers employ incremental compilation, in which each procedure is compil...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
The authors outline an experiment on Warren abstract machine (WAM) based compiler technology. In pre...
AbstractThis paper presents a scheme for intelligent backtracking in PROLOG programs. Rather than do...
AbstractTracing by automatic program source instrumentation has major advantages over compiled code ...
An algorithm for improving the performance of a Prolog interpreter is introduced. The algorithm, unl...
Tracing by automatic program source instrumentation has major advantages over compiled code instrume...
Several techniques for implementing Prolog in a efficient manner have been devised since the origina...
Prolog spends about 50% of its execution time in unification. It is therefore worthwhile to investig...