Abstract

Aquarius is a Prolog system with a very high performance, and word goes that it is a factor ten faster than top quality commercial implementations. And yes, there is one published benchmark which is that much faster. Although a lot of details of the implementation of Aquarius can be found in the literature, it is not always clear what the relative relevance is of the applied compilation techniques. This is investigated here. Moreover, one would like to know, how a traditional implementation can be cranked up to a similar level of performance. We will show that very little machinery is needed to reach that level, except for integer arithmetic intensive programs for which Aquarius derives perfect information. This is done by starting from an existing implementation and gradually introducing some techniques and always applying them to the same set of benchmark programs. This gives an idea of the relative value of the techniques and shows how the performance of Aquarius can be approached. ...