PROFILING PROLOG PROGRAMS.

Research output: Contribution to journalArticle

6 Citations (Scopus)

Abstract

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 backtracking and failure, is significantly more complex than in traditional languages; second, 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
Volume18
Issue number9
StatePublished - Sep 1988

Fingerprint

Logic programming
Computer programming languages

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

PROFILING PROLOG PROGRAMS. / Debray, Saumya K.

In: Software - Practice and Experience, Vol. 18, No. 9, 09.1988, p. 821-839.

Research output: Contribution to journalArticle

@article{3d3f7d7b0dbc452e9f6982bf0ba6925f,
title = "PROFILING PROLOG PROGRAMS.",
abstract = "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 backtracking and failure, is significantly more complex than in traditional languages; second, 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.",
author = "Debray, {Saumya K}",
year = "1988",
month = "9",
language = "English (US)",
volume = "18",
pages = "821--839",
journal = "Software - Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "9",

}

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 backtracking and failure, is significantly more complex than in traditional languages; second, 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 backtracking and failure, is significantly more complex than in traditional languages; second, 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

M3 - Article

VL - 18

SP - 821

EP - 839

JO - Software - Practice and Experience

JF - Software - Practice and Experience

SN - 0038-0644

IS - 9

ER -