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? Don't forget that adding keys requires resizing the dict, which is a moderately expensive operation. Once the dict is constructed, lookup times should be quite good. -- Aahz ([EMAIL PROTECTED]) <*> http://www.pythoncraft.com/ "I saw `cout' being shifted "Hello world" times to the left and stopped right there." --Steve Gonedes -- http://mail.python.org/mailman/listinfo/python-list