Fast Prolog with an Extended General Purpose
نویسندگان
چکیده
Most Prolog machines have been based on specialized architectures. Our goal is to start with a general purpose architecture and determine a minimal set of extensions for high performance Prolog execution. We have developed both the architecture and optimizing compiler simultaneously, drawing on results of previous implementations. We nd that most Prolog speciic operations can be done satisfactorily in software; however, there is a crucial set of features that the architecture must support to achieve the best Prolog performance. The emphasis of this paper is on our architecture and instruction set. The costs and beneets of the special architectural features and instructions are analyzed. Simulated performance results are presented and indicate a peak compiled Prolog performance of 3.68 million logical inferences per second.
منابع مشابه
A General-Purpose Conjunctive Iterative Control Structure for Prolog
A loop-like control structure without using backtracking, or conjunctive iteration, is expressed using recursion in Prolog. However, recursion is too powerful to express an iteration, which needs more restrictive syntax and semantics. This paper presents a general-purpose iteration predicate do. Predicate do enables a programmer to write most iterations, such as arithmetical iterations, append,...
متن کاملSWI-Prolog version 7 extensions
SWI-Prolog version 7 extends the Prolog language as a general purpose programming language that can be used as ‘glue’ between components written in different languages. Taking this role rather than that of a domain specific language (DSL) inside other IT components has always been the design objective of SWI-Prolog as illustrated by XPCE (its object oriented communication to the OS and graphics...
متن کاملGeneral Purpose Work Flow Languages General Purpose Work Flow Languages *
Work ow management requires language support for work ow speciication and task speciication. Many approaches and systems for work ow managementtherefore ooer at least one new language for work ow speciication; task speciication is usually done in a traditional language. This is motivated in particular by the fact that many components already exist and the task of the work ow tool is the speciic...
متن کاملCan Logic Programming Execute as Fast as Imperative Programming?
The purpose of this dissertation is to provide constructive proof that the logic programming language Prolog can be implemented an order of magnitude more efficiently than the best previous systems, so that its speed approaches imperative languages such as C for a significant class of problems. The driving force in the design is to encode each occurrence of a general feature of Prolog as simply...
متن کاملDesign and Analysis of Hardwarefor High Performance
Most Prolog machines have been based on specialized architectures. Our goal is to start with a general purpose architecture and determine a minimal set of extensions for high performance Prolog execution. We have developed both the architecture and optimizing compiler simultaneously, drawing on results of previous implementations. We nd that most Prolog speciic operations can be done satisfacto...
متن کامل