Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-eddie.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!ihnp4!mit-eddie!smh From: smh@mit-eddie.UUCP (Steven M. Haflich) Newsgroups: net.lang.prolog Subject: metering Prolog performance: LIPS? Message-ID: <2788@mit-eddie.UUCP> Date: Fri, 28-Sep-84 12:25:43 EDT Article-I.D.: mit-eddi.2788 Posted: Fri Sep 28 12:25:43 1984 Date-Received: Sat, 29-Sep-84 09:02:08 EDT Distribution: net.lang.prolog Organization: MIT, Cambridge, MA Lines: 21 The speed of Prolog implementations is usually quantified in Logical Inferences Per Second (LIPS), but I have never seen specified exactly what qualifies as a LI. The most obvious count is the number of times the evaluator reaches an EXIT port (in the "box model"). This would thus count each time a rule is satisfied, recursively including satisfaction of subclauses. Can someone confirm that this convention? However, depending on details of benchmark code and even coding style, the number of EXIT ports reach may not be a very good measure of the work the evaluator is doing. (It's a little like counting *lines* of code executed by Pascal.) As the refutation of a clause is a useful result, perhaps it would make more sense to count CALL ports instead? It would seem important to include in this count satisfaction of "facts", that is, rules with no subclauses, although this might be awkward to meter in some database implementations. There must be any number of interesting issues lurking under the occasional LIPS figures we see. Any takers? (Probably it's all been discussed before...) Steve Haflich, {decvax!genrad, ihnp4}!mit-eddie!smh, smh@mit-ems@mit-mc