blob: e3dc3c74cee21698c950514985e92d8d27df7cbc [file] [log] [blame]
This package contains the benchmarks that were used in the papers:
"Fast Prolog with an Extended General Purpose Architecture", by Bruce Holmer
et al (, 17th International Symposium on Computer
Architecture, May 1990.
"The Benefits of Global Dataflow Analysis for an Optimizing Prolog Compiler",
by Peter Van Roy ( and Alvin Despain, 1990 North
American Conference on Logic Programming, October 1990.
The package contains 26 programs, grouped into "small" and "large". All
program sizes are in lines of code excluding comments. The programs have been
run on Quintus Prolog, C-Prolog, and Aquarius Prolog, a new system under
development at Berkeley. The programs are to be run as is, with all built-in
predicates *including* write/1 and nl/0.
Small Program Size Description 10 Naive reverse of a 30-element list. 15 Recursive integer arithmetic. 19 Quicksort of a 50-element list. 27 Symbolic differentiation. 27 Symbolic differentiation. 27 Symbolic differentiation. 27 Symbolic differentiation. 29 Calculate serial numbers of a list. 31 Solve the eight queens puzzle. 33 Prove a theorem of Hofstadter's "mu-math". 36 A logical puzzle based on constraints. 54 An optimized version of the mu-math prover. 68 Query a static database (using integer arithmetic). 86 Symbolically raise a polynomial to the tenth power.
Large Program Size Description 64 Solve a simple cryptarithmetic puzzle. 74 A meta-interpreter running qsort. 81 A simple theorem prover. 92 Build and query a database. 125 A compiler code generator for unification. 158 Source transformation to remove disjunctions. 273 A dataflow analyzer that represents aliasing. 301 A graph reducer based on combinators. 377 An extract from a Boyer-Moore theorem prover. 443 A dataflow analyzer analyzing qsort. 493 A logic synthesis program based on heuristic search. 1138 Parse a set of English sentences.