Aahz wrote:
> In article <[EMAIL PROTECTED]>,
> Roy Smith  <[EMAIL PROTECTED]> wrote:
>> In article <[EMAIL PROTECTED]>, Chris Foote <[EMAIL PROTECTED]> 
>> wrote:
>>> I have the need to store a large (10M) number of keys in a hash table,
>>> based on a tuple of (long_integer, integer).  The standard python
>>> dictionary works well for small numbers of keys, but starts to
>>> perform badly for me inserting roughly 5M keys:
>>>
>>> # keys   dictionary  metakit   (both using psyco)
>>> ------   ----------  -------
>>> 1M            8.8s     22.2s
>>> 2M           24.0s     43.7s
>>> 5M          115.3s    105.4s
>> Are those clock times or CPU times?
> 
> And what are these times measuring?

The loading of a file into a dictionary.  i.e. no lookup operations.

 > Don't forget that adding keys
> requires resizing the dict, which is a moderately expensive operation.

Yep, that's why I probably need a dictionary where I can pre-specify
an approximate size at the time of its creation.

> Once the dict is constructed, lookup times should be quite good.

Very good indeed with Psyco!

Cheers,
Chris
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to