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.Or...
The authors outline an experiment on Warren abstract machine (WAM) based compiler technology. In pre...
Tracing by automatic program source instrumentation has major advantages over compiled code instrume...
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...
The cost of backtracking has been identified as one of the bottlenecks in achieving peak performance...
An intelligent backtracking algorithm to prune the search space over which a Prolog interpreter sear...
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...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
We discuss an efficient implementation of the Warren Abstract Machine (WAM) [12] in detail. Special ...
AbstractThis paper presents a scheme for intelligent backtracking in PROLOG programs. Rather than do...
An algorithm for improving the performance of a Prolog interpreter is introduced. The algorithm, unl...
AbstractTracing by automatic program source instrumentation has major advantages over compiled code ...
AbstractCurrent WAM-type compilers employ incremental compilation, in which each procedure is compil...
The authors outline an experiment on Warren abstract machine (WAM) based compiler technology. In pre...
Tracing by automatic program source instrumentation has major advantages over compiled code instrume...
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...
The cost of backtracking has been identified as one of the bottlenecks in achieving peak performance...
An intelligent backtracking algorithm to prune the search space over which a Prolog interpreter sear...
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...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
This paper illustrates how a Prolog program, using chronological backtracking to find a solution in ...
We discuss an efficient implementation of the Warren Abstract Machine (WAM) [12] in detail. Special ...
AbstractThis paper presents a scheme for intelligent backtracking in PROLOG programs. Rather than do...
An algorithm for improving the performance of a Prolog interpreter is introduced. The algorithm, unl...
AbstractTracing by automatic program source instrumentation has major advantages over compiled code ...
AbstractCurrent WAM-type compilers employ incremental compilation, in which each procedure is compil...
The authors outline an experiment on Warren abstract machine (WAM) based compiler technology. In pre...
Tracing by automatic program source instrumentation has major advantages over compiled code instrume...
Prolog spends about 50% of its execution time in unification. It is therefore worthwhile to investig...