From: mef@aplcenmp.apl.jhu.edu (Marty Fraeman)
Subject: Re: RTX and SC32
Summary: SC32 is sort of 8-10 integer mips
Organization: Johns Hopkins Continuing Professional Programs
Date: Sun, 8 Nov 1992 03:25:46 GMT

In article <1992Nov3.144748.21826@sobeco.com> jlee@sobeco.com (j.lee) writes:
>In <17102@mindlink.bc.ca> Nick_Janow@mindlink.bc.ca (Nick Janow) writes:
>
>>10 MIPS may sound slow compared to the latest RISC chips, but that 10 MIPS is
>>for high-level Forth, so the actual performance is significantly higher than
>>that of a faster RISC chip running C.
>
>Can you offer any support for this claim?
>-- 
The closest evidence I am aware of is some work I did with the SC32 a
few years back.  I'm afraid I feel that my results don't fully support
Nick's claims.  I also do not claim that what I did is at all the final
work on comparing Forth and C.  I think the shortcomings of my work are
obvious to the readers of comp.arch so please don't flame me about
them.  I'm also not an unbiased observer since I was one of the
designers of the SC32.  None the less, I am trying to be objective
about things.

With all the qualifiers out of the way, what I did was recode the
Stanford integer benchmarks from C to Forth.  Timings indicated that
the Forth version ran about 8 times faster on a 10 MHz SC32 then a the
orignal C compiled with the BSD4.2 compiler on a Vax 11/780.  If the
matrix multiply benchmark was left out -- its totally dominated by
multiplies which the SC32 did with shift and add instructions -- then
the SC32 was about 10 times faster than the Vax.  This work is
described in an article in the Proceedings of the 1988 Rochester Forth
Conference.

The problems and limitations of the Stanford suite are well known but
it was more effort than I could justify to try and convert a larger
body of code.  Having said all this, in my emotional heart of hearts
(unfortunately, not the evidence requested by the original poster) on a
real program coded in Forth from the beginning, I think the SC32 would
look quite a bit better.  The orginal C code, which I believe actually
started life in Pascal, converted very poorly into Forth.  Code written
in Forth from the beginning that produced the same result would do much
better -- I had a version of the towers program that was about 10 times
faster than the transliterated C to Forth code.  

At any rate, I am comfortable saying that the SC32 programmed in Forth
had performance approximately equivalent to CISC processors programmed
with convetional languages and compilers of its day (fully functional
silicon at the beginning of 1987).  I don't think the comparison holds
up as well to the RISC machines of that era. But it is clear that a
RISC of that era would run Forth much slower than the SC32.  Also keep
in mind that a small standalone SC32 system (i.e. a dozen chips or so
including memory) can support its own interactive and extensible
program development environment without needing cross-compilers,
emulators, and so on.


	Marty Fraeman

	mef@.glinda.jhuapl.edu 	(<-- not the machine this is posted from!)
	301-953-6000, x8360

	Room 13-s587
	Johns Hopkins University/Applied Physics Laboratory
	Johns Hopkins Road
	Laurel, Md. 20723
Newsgroups: comp.arch