Publications

El Segundo, California

Abstract

Execution profiling is a common aid for improving software performance. Measurements based on instruction and memory access traces show that Prolog programs can spend significant time unifying and backtracking. Trace generation is time consuming and expensive while conventional timing techniques aren't well suited to Prolog. This paper presents an efficient profiling technique for Prolog programs that isolates the time spent in unification and backtracking. The technique employs a unique combination of static and dynamic analysis. Run-time overhead is restricted to updating counters. Execution timings are computed following program execution by combining the flow information provided by the counters with a static timing analysis of the program. The method is suitable for modeling the gross timing behavior of a program and resolves time expenditures to the clausal level.

Metadata

publication
1987 Symposium on Logic Programming: Proceedings, August 31-September 4 …, 1987
year
1987
publication date
1987
authors
Michael M Gorlick, Carl F Kesselman
link
https://scholar.google.com/scholar?cluster=13254096971976318954&hl=en&oi=scholarr
journal
1987 Symposium on Logic Programming: Proceedings, August 31-September 4, 1987, Hyatt on Union Square, San Francisco, California
pages
426
publisher
IEEE Computer Society Press