Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: comp.arch Subject: Re: C machine Message-ID: <9068@utzoo.UUCP> Date: Mon, 7-Dec-87 19:47:02 EST Article-I.D.: utzoo.9068 Posted: Mon Dec 7 19:47:02 1987 Date-Received: Mon, 7-Dec-87 19:47:02 EST References: <759@auscso.UUCP> Organization: U of Toronto Zoology Lines: 44 Keywords: C, Lilith (sp?), In Progress? > ... because of this design, the machine could > execute compiled Modula programs much faster than any general purpose CPU > in the same word-size/clock-speed class. The real question, though, is how it compares in speed to general-purpose CPUs that are in the same cost/delivery-time class. The usual answer is "not well", unless the language needs some odd feature that conventional hardware does not do well at. Even then, cleverness can often substitute for special hardware. Worse, even if the thing is competitive when first built, remember that there are enormous resources pushing the development of faster and better general-purpose CPUs. The Lisp machines, for example, are visibly dying as the combination of clever implementations and steadily climbing general-purpose performance leaves them behind. > If this is true, I would like to know if anyone out there is working > on a similar machine designed to work more efficiently with C programs. Since C is designed with efficiency on conventional machines in mind, it is not clear why anyone would bother. Actually, there was one such, the BBN C-70, but I don't think it went anywhere. About the only thing of real note for running C well is an efficient procedure call, but after the bad example of the VAX, most everybody does that very carefully anyway. > It seems that this would be the ultimate UNIX machine, eliminating the > need for assembly patches to the kernel. It could run a completely > portable version of UNIX and be very quick about it. Sorry, no. There are still things that are difficult or impossible to do in C unless your compiler essentially includes a primitive form of assembler inside it. Besides, why bother? The assembler parts of the kernel are manageably small already. "Complete portability" is an illusion; most of the work in a Unix port is in compilers and in things like memory management and hardware handling anyway. Also of significance is that many Unix machines are sold for applications work. For example, running big Fortran programs. One reason for Unix's appeal is precisely that it is *not* committed to a single language. Oh, if you did it carefully you might be able to get some small win without losing too much in other areas, but why bother? You will get better results investing that effort in speeding up the 68020, I'm afraid. -- Those who do not understand Unix are | Henry Spencer @ U of Toronto Zoology condemned to reinvent it, poorly. | {allegra,ihnp4,decvax,utai}!utzoo!henry