These are the `van Roy' benchmarks  for   Prolog.  They  are designed to
cover a large number of  aspects,   both  small-scale and large(r) scale
programs.  All  benchmarks  are  pure  Prolog;    i.e.,   there  are  no
constraints, etc. Another problem with this   data  is that the programs
are rather old, generally not using  modern libraries and often avoiding
GC because some old implementations did not provide it. Also many todays
application manage a lot  of  text,  often   using  atoms.  None  of the
benchmarks is concerned with that.

Each test is a non-modular  program   that  provides  a single predicate
top/0. The driver run.pl loads  all  programs   in  their  own module. I
modified most of the driver. The toplevel  is run(+Factor). Each test is
callibrated to be run approximately  the   same  time. Factor scales the
number of iterations. Factor=1 is callibrated for 1 second per benchmark
on an AMD 5400+ using SWI-Prolog 5.9.7 (Linux, gcc 4.4 -O2).

In addition to the `van Roy'   benchmarks, the following benchmarks have
been added to extend the coverage of   this benchmark set. Good coverage
is important to maximize the  benefits   of  Program Guided Optimization
(PGO).  See CMAKE.md and scripts/pgo-compile.sh.

  - sieve.pl
    Benchmark assert/retract and indexing.
  - queens_clpfd.pl
    clp(fd) benchmark.
  - pingpong.pl
    Tabling benchmark copied from 20kpingpong-swi.pl from
    https://github.com/JanWielemaker/tabling_benchmarks.git
  - fib.pl
    Tabling benchmark copied from 1000fib-swi.pl from
    https://github.com/JanWielemaker/tabling_benchmarks.git
