Profiling prolog programs

Research output: Contribution to journalArticlepeer-review

6 Scopus citations


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.

Original languageEnglish (US)
Pages (from-to)821-839
Number of pages19
JournalSoftware: Practice and Experience
Issue number9
StatePublished - Sep 1988

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Profiling prolog programs'. Together they form a unique fingerprint.

Cite this