Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site utah-cs.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!utah-cs!shebs From: shebs@utah-cs.UUCP (Stanley Shebs) Newsgroups: net.arch,net.ai,net.lang,net.lang.lisp Subject: Re: Lisp Machines Message-ID: <3345@utah-cs.UUCP> Date: Mon, 20-May-85 10:08:08 EDT Article-I.D.: utah-cs.3345 Posted: Mon May 20 10:08:08 1985 Date-Received: Tue, 21-May-85 04:43:15 EDT References: <922@noscvax.UUCP> <5604@utzoo.UUCP> Reply-To: shebs@utah-cs.UUCP (Stanley shebs) Organization: Univ of Utah CS Dept Lines: 28 Xref: linus net.arch:1034 net.ai:2548 net.lang:1362 net.lang.lisp:404 In article <5604@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >In the recent AI issue of Byte, there was an article by some folks at a >company (Fairchild?) that is looking at building a super-fast AI machine. >Their analysis of supporting AI languages (notably Lisp) really well on >conventional machines ultimately boiled down to "efficient simulation of >tagged memory is the major stumbling block". Their conclusion was that >conventional machines will be good for Lisp etc. in direct proportion to >how quickly they can (a) pick out some bits from a word and branch to one >of several places depending on the value of those bits, and (b) do an >indirect fetch which ignores some of the bits in the address register. This is true only if one has a relatively stupid compiler that does no type inference of any sort (sadly, this is the case for most compilers today). The nice thing about a really high-level language is that a compiler can look at something like (car quux) and turn that into a single instruction that does offset addressing without any tag checking at all! Of course, the compiler has to be smart, so that it doesn't try that trick with (car 12)... Compiled PSL code wins big because it sacrifices some reliability and debuggability of code for speed. Also, to get the best performance, one must use several kinds of declarations and flags. The net effect is to compile away a large percentage of function calls and type checks. The moral? Fixing the compiler is a better approach than sinking millions of dollars into hardware, then trying to sell it as an "advanced AI engine" or "powerful Lisp machine"... stan shebs