something Evil happens when large hashes destroyed
tim.one at home.com
Mon Nov 19 00:39:52 CET 2001
> I was trying to sort about 100,000 items by splitting them into
> groups (using a python dictionary type) and then successively splitting
> these groups until they were small enough to use a brute force method.
> My test program, which used only two or three keys to create the first
> split, worked fine. When I tried the real thing, using 256 keys, the
> program slowed to a crawl. The python interpreter took forever to
> destroy the dictionaries.
> Here's a little program ...
I tried that w/ 2.2b2 under Win98SE, 866MHz, 256MB RAM, also with 100,000
elements, and the number of bins didn't matter: for assorted values from 1
through 100,000, creation time was 2 seconds and destruction time 0
(time.time() only has 1-second resolution on Windows).
So best guess is that you're fighting your platform C library's
malloc()/free(). Which OS? Which C compiler and library? If you build
Python yourself, try rebuilding 2.2b2 --with-pymalloc, and see whether that
helps. It would be interesting to know one way or the other.
More information about the Python-list