TY - JOUR
T1 - Profiling prolog programs
AU - Debray, Saumya K.
PY - 1988/9
Y1 - 1988/9
N2 - Profilers play an important role in the development of efficient programs. Profiling techniques developed for traditional languages are inadequate for logic programming languages, for a number of reasons: first, the flow of control in logic programming languages, involving back‐tracking and failure, is significantly more complex than in traditional languages; secondly, the time taken by a unification operation, the principal primitive operation of such languages, cannot be predicted statically because it depends on the size of the input; and finally, programs may change at run‐time because clauses may be added or deleted using primitives such as assert and retract. This paper describes a simple profiler for Prolog. The ideas outlined here may be used either to implement a simple interactive profiler, or integrated into Prolog compilers.
AB - Profilers play an important role in the development of efficient programs. Profiling techniques developed for traditional languages are inadequate for logic programming languages, for a number of reasons: first, the flow of control in logic programming languages, involving back‐tracking and failure, is significantly more complex than in traditional languages; secondly, the time taken by a unification operation, the principal primitive operation of such languages, cannot be predicted statically because it depends on the size of the input; and finally, programs may change at run‐time because clauses may be added or deleted using primitives such as assert and retract. This paper describes a simple profiler for Prolog. The ideas outlined here may be used either to implement a simple interactive profiler, or integrated into Prolog compilers.
UR - http://www.scopus.com/inward/record.url?scp=0024087484&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0024087484&partnerID=8YFLogxK
U2 - 10.1002/spe.4380180903
DO - 10.1002/spe.4380180903
M3 - Article
AN - SCOPUS:0024087484
SN - 0038-0644
VL - 18
SP - 821
EP - 839
JO - Software: Practice and Experience
JF - Software: Practice and Experience
IS - 9
ER -