Subject: Re: indexing capabilty of swi-pl

From: Jan Wielemaker <[email-masked]>
Date: Sat, 30 Oct 1999 16:33:54 +0200

> * Wich of this methods do you think is faster to access a dictionary,
>    entry(KeyValue,....KeyInfos....)   (about 5.000 entries):
>           - put entries as they are in the internal DB of Prolog (with
>             KeyValue as first argument, relaying on SWI-PL first arg
>             indexing;
>           - put entries in a B-tree managed by Prolog.
> 
> * What kind of tecnique is used to index the first arg?

This depends on the number of clauses, but using large sets the choice
is always a hash-table.  Try to avoid as much as possible duplicates
and don't use a `catch-all' clause (using a variable) at the end.
5,000 entries is just peanuts.  We've played with tables more than
10 times as big without any trouble.

	--- Jan