Return to search

Efficiency of difference-list programming

The difference-list technique is described in literature as effective method for extending lists to the right without using calls of append/3. There exist some proposals for automatic transformation of list programs into differencelist programs. However, we are interested in construction of difference-list programs by the programmer, avoiding the need of a transformation step. In [GG09] it was demonstrated, how left-recursive procedures with a dangling call of append/3 can be transformed into right-recursion using the unfolding technique. For simplification of writing difference-list programs using a new cons/2 procedure was introduced. In the present paper, we investigate how efficieny is influenced using cons/2. We measure the efficiency of procedures using accumulator technique, cons/2, DCG’s, and difference lists and compute the resulting speedup in respect to the simple procedure definition using append/3. Four Prolog systems were investigated and we found different behaviour concerning the speedup by difference lists. A result of our investigations is, that an often advice given in the literature for avoiding calls append/3 could not be confirmed in this strong formulation.

Identiferoai:union.ndltd.org:Potsdam/oai:kobv.de-opus-ubp:4156
Date January 2010
CreatorsGeske, Ulrich, Goltz, Hans-Joachim
ContributorsGesellschaft für Logische Programmierung e.V.
PublisherUniversität Potsdam, Mathematisch-Naturwissenschaftliche Fakultät. Institut für Informatik
Source SetsPotsdam University
LanguageEnglish
Detected LanguageEnglish
TypeInProceedings
Formatapplication/pdf
SourceProceedings of the 23rd Workshop on (Constraint) Logic Programming 2009 / Geske, Ulrich; Wolf, Armin (Hrsg.). - Potsdam : Universitätsverlag, 2010. - S. 177 - 186
Rightshttp://opus.kobv.de/ubp/doku/urheberrecht.php

Page generated in 0.0021 seconds