[comp.lang.prolog] Benchmark Programs

micha@ecrc.de (Micha Meier) (10/21/90)

Some time ago, I've posted a request for large benchmark programs.
Although I did not expect any overwhelming response, the result
can be considered as rather poor. So here I am again: please,
if you have any nontrivial, long programs, make them available
to the benchmark suite. In this way, you help the whole Prolog
community, because the more programs we have, the better we can
find out what programs the people are actually writing and
concentrate on how to make these programs run faster. The usual
purpose of benchmark programs, namely comparing the efficiency
of different systems, is also important, but not that
much. More important is that the implementors can make
a reasonable statistics of what features the real-life programs have,
and then to decide which of them are worth to speed up
to make the whole program run faster.

I've learned that some people are afraid to make their programs
available because they think that their programs are not written
in a good style and they are also afraid of R.A.O'Keefe's comments.
Such worries are completely unnecessary. On the contrary - if
all the programs were perfect, a benchmark suite made out of them
would not be as significant as a real-life one.
The fun with Prolog is that it is not that difficult
(well, not as difficult as in some other languages) to
take an inefficient Program, process it, and obtain
an efficient one. To do this, one of course needs a lot
of inefficient programs to practice with them.
(As a matter of fact, buggy programs are very important
as well - how else can we write good debuggers
if we work always with mistyped append or similar programs?)
The same thing concerns e.g. the cuts. A lot of people
put too many cuts into their programs and are then
reluctant to show them to the public, but how can we
write tools which remove these cuts automatically if we don't have enough
programs overloaded with cuts?

Prolog has not a very good reputation in the CS field
(I was actually quite surprized when I found out at the last
IFIP Congress that very few of the people there take Prolog seriously),
one reason for that is certainly its slowness.
Please, if you believe in Prolog, help us to make it better,
we need your programs, be it good or bad. The main thing
is that they are being used for something significant.
You can do so anonymously, if you prefer, or with full copyright,
it does not matter. All you have to do is to let me know where
your program is accessible.

--Micha Meier
--
USA     micha%ecrc.de@pyramid.com	MAIL	Micha Meier
						ECRC, Arabellastr. 17
EUROPE  micha@ecrc.de				8000 Munich 81
						West Germany

ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (10/23/90)

In article <1744@ecrc.de>, micha@ecrc.de (Micha Meier) writes:
> I've learned that some people are afraid to make their programs
> available because they think that their programs are not written
> in a good style and they are also afraid of R.A.O'Keefe's comments.

The second fear should be easy to allay.  I am not at ECRC.  Send a
file to Micha Meier and I am most unlikely to see it.  There is nothing
to fear.  On the other hand, I believe that the first fear is legitimate:

> Prolog has not a very good reputation in the CS field
> (I was actually quite surprized when I found out at the last
> IFIP Congress that very few of the people there take Prolog seriously),
> one reason for that is certainly its slowness.

I repeat what I've been saying for years:  I do not find Prolog to be a
particularly slow language.  What I *have* found is that a great many
Prolog programs are quite excruciatingly bad.  (Example:  a program I
am tweaking right now evaluates arithmetic expressions by parsing them
out of strings *at run time* (this is in Turbo Prolog, which seems to
encourage this sort of waste) and maintains a stack in the dynamic
data base instead of just passing numbers as parameters.)

> Please, if you believe in Prolog, help us to make it better,
> we need your programs, be it good or bad.

In particular, may I suggest that if your program _is_ bad, you have
something to _gain_ by exposing it:  you may be told how to do it
better.  And if you don't want people commenting on it, all you have
to do is put a notice in your code 
	%  Please do not comment on the style or efficiency
	%  of this program.

-- 
Fear most of all to be in error.	-- Kierkegaard, quoting Socrates.

jeff@aiai.ed.ac.uk (Jeff Dalton) (11/01/90)

In article <1744@ecrc.de> micha@ecrc.de (Micha Meier) writes:

>Prolog has not a very good reputation in the CS field
>(I was actually quite surprized when I found out at the last
>IFIP Congress that very few of the people there take Prolog seriously),
>one reason for that is certainly its slowness.

The Prolog folk are already *obsessed* with speed.
This can only make it worse.