Prev: An empty object with dynamic attributes (expando)
Next: Plain simple unix timestamp with an HTTP GET
From: Emin.shopper Martinian.shopper on 10 Jun 2010 07:29 Dear Dmitry, Bryan and Philip, Thanks for the suggestions. I poked around the dictionary descriptions and fiddled some more but couldn't find any obvious error. I agree it does seem odd that a 50 kb dict should fail. Eventually, I tried Dmitry suggestion of moving over to python 2.6. This took a while since I had to upgrade a bunch of libraries like numpy and scipy along the way but once I got everything over to 2.6 it succeeded. My bet is that it was still some kind of weird memory issue but considering that it does not seem to exist in python 2.6 I'm guessing it's not worth the effort to continue to track down. Thanks again for all your help. I learned a lot more about dictionaries along the way. Best, -Emin On Fri, Jun 4, 2010 at 4:40 PM, Bryan <bryanjugglercryptographer(a)yahoo.com> wrote: > Philip Semanchuk wrote: >> At PyCon 2010, Brandon Craig Rhodes presented about how dictionaries >> work under the hood:http://python.mirocommunity.org/video/1591/pycon-2010-the-mighty-dict... >> >> I found that very informative. > > That's a fine presentation of hash tables in general and Python's > choices in particular. Also highly informative, while easily readable, > is the Objects/dictnotes.txt file in the Python source. > > Fine as those resources may be, the issue here stands. Most of my own > Python issues turn out to be stupid mistakes, and the problem here > might be on that level, but Emin seems to have worked his problem and > gotten a bunch of stuff right. There is no good reason why > constructing a 50 kilobyte dict should fail with a MemoryError while > constructing 50 megabyte lists succeeds. > > > -- > --Bryan Olson > -- > http://mail.python.org/mailman/listinfo/python-list >
First
|
Prev
|
Pages: 1 2 Prev: An empty object with dynamic attributes (expando) Next: Plain simple unix timestamp with an HTTP GET |