Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!decvax!bellcore!ulysses!cbosgd!ucbvax!upenn.CSNET!Tim From: Tim@UPENN.CSNET (Tim Finin) Newsgroups: mod.ai Subject: turbo prolog (again) Message-ID: <8603121910.AA09329@ucbvax.berkeley.edu> Date: Wed, 12-Mar-86 01:32:00 EST Article-I.D.: ucbvax.8603121910.AA09329 Posted: Wed Mar 12 01:32:00 1986 Date-Received: Thu, 13-Mar-86 23:43:18 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 98 Approved: ailist@sri-ai.arpa Ken and Chuck, I sent the following message about a newly announced prolog compiler which did not show up in either mailing list. From: Tim Finin on Thu 6 Mar 1986 at 15:51, 13 lines To: AIlist@sri-ai, PROLOG-REQUEST%su-score.arpa@CSNET-RELAY Subj: Turbo Prolog Date: Thu, 6 Mar 86 15:51 EST Someone gave me a copy of a news item from Electronic Engineering Times of March 3rd which describes a Prolog compiler for PCs that Borland Int. (of Turbo Pascal fame) is releasing on April 15th. According to the note, the price will be $99. Borland claims that it was clocked at 100K lips on an IBM-PC and 300K lips on an AT! (The benchmark used was described as "a single rule benchmark"). The dialect is described as "a superset of Clocksin and Mellish". The system appears to include an incremental compiler, screen editor, support for windowing, a module capability, sound primitives and color graphics primitives. I assume you both thought it was too much of a plug for a new compiler with little real significance. I disagree! It is significant for one of two reasons, as I explain below. Note first that: 1 - Borland is a respected company making software for micros. Their products, especailly Turbo Pascal, are quite good, widely used and very cheap. I've seen it claimed that over 500,000 copies of Turbo Pascal have been sold! 2 - Their prolog compiler seems to be reasonable from the point of view of features. 3 - It's claimed to provide a ORDER OF MAGNITUDE improvement on performance. The other PC based prolog compiler claim to run on the order of 10K to 20K Lisp, I think. 4 - They are claiming to sell it at an ORDER OF MAGNITUDE less price than the other prolog compilers for PCs. Now - the reasons: either (1) Borland has discovered some very clever tricks to producing much better compiled code from standard prolog or (2) they are not playing the benchmarking game fairly. I tend to lean toward (2) but hope that there may be a fair amount of (1) involved as well. If Turbo Pascal weren't such a win, I'd have little hope. On the pessimistic side, Robert Rubinoff sent me the following back-of-the-envelope analysis: From: Robert Rubinoff on Fri 7 Mar 1986 at 10:28, To: Tim Finin Subj: Turbo Prolog 100 Klips = .1MHZ. Now assuming that they are only using code within one segment (which limits you to 64K), the 8088 takes about 3 cycles for the average register instruction, and about 10-15 cycles + memory fetch time for a memory instruction. Memory fetches take a few cycles; I can't find where it says how much; so let's say that it's just enough to push the average instruction time up to 15 cycles. If 2 out of 3 instructions are register instructions, we get an average of 21/3 or 7 cycles per instruction. (I think my calculations here are probably a little low). So if we have a 4MHz 8088, we get an instruction rate of 0.5MHz, or 5 instructions per lip. On an 8MHZ 8088, we get 10 instructions per inference. That strikes me as not enough. Maybe they're using a benchmark that doesn't do any unification. And all of this (at least on the 8088 in the PC, I don't know about the AT) requires that everything be in the same segment. If you want more than 64K, you have to go to multiple segments, which slows things down a lot. I'm dubious. But we'll see, I guess. Robert Anyway, when a respectable, established company offers a basic AI tool which jumps TWO ORDERS OF MAGNITUDE on the price/performance scale, I think its news! If a few months we'll either be praising the cleverness of the Borland programmers or cursing the dishonesty of the Borland marketing people. Tim [Actually, Tim's message was simply the victim of "digest delay" and of my recent full schedule. It had come to the head of the queue and would have been sent out today in any case. Most messages are redistributed within a week, although humor and "special issue" messages are sometimes saved for two weeks in order to collect a sufficient number on the same topic. Authors of "commercial messages" which must be rejected will receive a note from me (unless the message has already gone out on UUCP net.ai). Tim's message is well within the limits of acceptability (and usefulness -- thanks, Tim!). The posting which follows is more dubious, but seems to be forwarded in a spirit of helpfulness rather than commercial PR. A discussion has just started on WorkS, Human-Nets, and Large-List-People that may redefine the limits of acceptability, particularly with respect to including price information. (While price is obviously an important spec, it has been one of the touchstones for identifying messages with commercial intent.) -- KIL]