[net.lang.prolog] PROLOG Digest V4 #42

PROLOG-REQUEST@SU-SCORE.ARPA (Chuck Restivo, The Moderator) (08/26/86)

PROLOG Digest            Tuesday, 26 Aug 1986      Volume 4 : Issue 42

Today's Topics:
                    Query - Apollo Implementation,
                     Performance - CProlog Speeds
----------------------------------------------------------------------

Date: 25 Aug 86 (Mon) 11:20:40 EDT
From: Robert Goldman <rpg%brown.csnet@csnet-relay.arpa>
Subject: C-Prolog implementation on Apollo Workstations

I am bringing up C-Prolog 1.3 on Apollo workstations running Berkeley 
4.2.  Has anyone out there tried doing this?  If so, would you please 
let me know -- I'd like to correspond about the project.

Thank you,

-- Robert Goldman

Note:  We'd like to use this prolog for a class to be offered this 
term, so please, if you can help, write soon!

------------------------------

Date: Mon, 25 Aug 86 17:26:57 PDT
From: Mike Newton <newton@vlsi.caltech.edu>
Subject: A random observation on CProlog speeds....

The Dhrystone benchmark is a popular one with the unix community.
While reading through the latest figures I was impressed with the
amazing similarity in units between that benchmark and the standard
'LIPS' benchmark -- naive reverse -- under my 'improved' (speeded
and bug fixed) version of C-Prolog.

A part of this can be attributed to the relative efficiency of the
machines, and also, part due to the nature that C maps into the
hardware of a particular machine.  When there are lots of native
code generting compilers out there it would be real interesting
to see if similar figure hold (up to a constant factor)!

For naive reverse (10 times/ 30 elements) here are raw timings in
LIPS using CProlog 1.5n4 with 2048 K of local space:

Sun 2:           1250
Vax 11/780:     ~1750
Sun 3:           3350
4341/12:         4510   (Uses my 'optimizer' to reduce index  )
4381/2:          5615   (register usage in simple instructions)

Now excerpts from the latest version of the Dhrystone benchmarks:

DHRYSTONE 1.1 BENCHMARK SUMMARY  --  Thu Aug 14 22:41:13 EDT 1986

MANUF      MODEL      PROC     CLOCK NOREG   REG OS,COMPILER,NOTES
-----      -----      ----     ----- -----   --- -----------------
Sun        2                    0.00  1034  1110 UNIX 4.2BSD,cc
Sun        2/120      68010    10.00  1058  1142 UNIX Sun 2.2,cc
DEC        VAX 11/780           0.00  1417  1441 UNIX 4.2BSD,cc
DEC        VAX 11/780 MA780     0.00  1428  1470 Mach 4.3,cc
Sun        3/160      68020    16.67  2843  3134 UNIX Sun 3.0,cc
Sun        3/160      68020    16.67  2946  3246 Sun 4.2 3.0A,cc
IBM        4341-12             0.00  3690  3690 Amdahl UTS V,cc 1.11
IBM        4341-12             0.00  3910  3910 Amdahl UTS V,cc 1.11,
Mike Newtons "optimzer"
HP         Bobcat     68020    0.00  2464  2671 HP/UX 5.02 B 9000/320,
IBM        4381-2              0.00  6440  6440 Amdahl UTS V,cc 1.11
IBM        4381-2              0.00  6850  6850 Amdahl UTS V,cc 1.11
Mike Newtons "optimizer"
Amdahl     5860                0.00 28735 28846 UTS V,cc 1.22
IBM        3090/200            0.00 31250 31250

Attached, please find the 08/14/86 list of DHRYSTONE 1.1 benchmark
results.  I'm sorry it took so long to get this list together.  The
only excuse I can offer is that it took a lot more wining and dining
to convince Margo to get engaged to me than I initially thought :-)!


CLARIFICATION

There seems to have been a great deal of confusion over what this
benchmark measures, and how to use these results.  Let me try to
clarify this:

1) DHRYSTONE is a measure of processor+compiler efficiency in
   executing a 'typical' program.  The 'typical' program was
   designed by measuring statistics on a great number of
   'real' programs.  The 'typical' program was then written
   by Reinhold P. Weicker using these statistics.  The
   program is balanced according to statement type, as well
   as data type.

2) DHRYSTONE does not use floating point.  Typical programs
   don't.

3) DHRYSTONE does not do I/O.  Typical programs do, but then
   we'd have a whole can of worms opened up.

4) DHRYSTONE does not contain much code that can be optimized
   by vector processors.  That's why a CRAY doesn't look real
   fast, they weren't built to do this sort of computing.

5) DHRYSTONE does not measure OS performance, as it avoids
   calling the O.S.  The O.S. is indicated in the results
   only to help in identifying the compiler technology.


A SPECIAL THANKS

I didn't write the DHRYSTONE benchmark.  Rheinhold Weicker did.
He has certainly provided us with a useful tool for benchmarking,
and is to be congratulated.

        Rick Richardson
        PC Research, Inc.
        (201) 834-1378 (9-17 EST)
        (201) 922-1134 (7-9,17-24 EST)

- mike

newton@cit-vax.caltech.edu
Caltech 256-80
Pasadena CA 91125
818-356-6771 (afternoons,nights)

------------------------------

End of PROLOG Digest
********************