In this section we will provide a critical discussion of the
comparison with the SWI Prolog system. The SWI Prolog system is
the fastest non-compiler that we have included in our external
benchmark. The average speed up factor compared to Jekejeke Prolog
is around 56.9%. The worst slow down factor was around 98.2% for
query. The best speed up factor is around 21.7% for nrev.
The SWI Prolog system is not the only system that cannot apply an
optimization to query. All of the tested Prolog systems seem to
have problems with this test program. This is very astonishing
since it is based on a predicate lookup which is very well
amenable to first argument indexing. A further test program that
might profit from indexing is crypt. For this test program almost
all Prolog systems show also a problem. Only the B-Prolog system
and the Ciao Prolog do not suffer extremely in this case. The
Jekejeke Prolog system on the other hand will use a multi-argument
index for the predicate sum2/4 in crypt.
The separation of the speed ups into the two groups deterministic and non-deterministic is perfect for SWI Prolog. Unfortunately the calc example does not show some special speed up over the average. SWI Prolog does perform a DCG expansion similar to GNU Prolog. But SWI Prolog places additional unification steps subsequent to DCG actions into the body of a grammar rule to make it steadfast similar to the Jekejeke Prolog system. This could affect the performance of SWI Prolog for the calc test program.
The SWI Prolog system speed-up shows a modest span of 86.6%. A smaller span is only found for the GNU Prolog system with 58.7%. The biggest span is found for the SICStus Prolog system with 378.2%. The variance of the system speed-up shows a similar picture, means that we do have similar clustering on both sides of the speed spectrum for all Prolog systems. The SWI Prolog system speed-up shows again a modest variance of 22.9%. A smaller variance is only found for the GNU Prolog system with 16.1%. The biggest variance is found for the SICStus Prolog system with 138.5%.