From jan@swi.psy.uva.nl  Sun Dec 10 14:54:22 2000
Received: from gollem.swi.psy.uva.nl (gollem [145.18.152.30])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id OAA29808;
	Sun, 10 Dec 2000 14:54:22 +0100 (MET)
Received: (from jan@localhost)
	by gollem.swi.psy.uva.nl (8.9.3/8.9.3/SuSE Linux 8.9.3-0.1) id OAA22210;
	Sun, 10 Dec 2000 14:51:52 +0100
Date: Sun, 10 Dec 2000 14:51:52 +0100
Message-Id: <200012101351.OAA22210@gollem.swi.psy.uva.nl>
From: Jan Wielemaker <jan@swi.psy.uva.nl>
Subject: Re: comparing 3.2.9 and 3.4.2
To: Fangzhen Lin <flin@cs.ust.hk>, prolog@swi.psy.uva.nl
In-Reply-To: Fangzhen Lin's message of Fri, 01 Dec 2000 17:13:39 +0800
Phone: +31 - 20 - 525 6121

> 
> It seemed to me that SWI-Prolog version 3.2.9 runs faster than version
> 3.4.2. Is this correct? For instance, here are the information as given
> by  time/1 for one of my programs:

> version 3.2.9: 109,320,722 inferences in 151.57 seconds (721256 Lips)
> version 3.4.2: 82,041,792 inferences in 165.43 seconds (495931 Lips)

In general 3.3.x is a bit slower than 3.2.9, but it is standard
conforming and the virtual machine has been improved to make it more
modular and easier to understand.  The implementation of ->/2, \+/1,
etc. is a lot faster, normal nice plain Prolog is a bit slower, notably
`shallow backtracking': selecting a new clause after unification of the
head fails on the current clause.

The expectation is that, when I've got some spare time, I will fix the
performance degradations, leaving you only with the improvements.
Serious programs doing a lot of different things showing performance
degradation of more than (say) 10% should be considered a `bug'.
	
	--- Jan

