Populating a dictionary, fast

Michael Bacarella mbac at gpshopper.com
Sun Nov 11 11:51:37 EST 2007


> > This would seem to implicate the line id2name[id] = name as being
 excruciatingly slow.
> 
> As others have pointed out there is no way that this takes 45
> minutes.Must be something with your system or setup.
>
> A functionally equivalent code for me runs in about 49 seconds!
> (it ends up using about twice as much ram as the data on disk)

You can download the list of keys from here, it's 43M gzipped:
    http://www.sendspace.com/file/9530i7

and see it take about 45 minutes with this:

$ cat cache-keys.py
#!/usr/bin/python
v = {}
for line in open('keys.txt'):
        v[long(line.strip())] = True






More information about the Python-list mailing list