[prev in list] [next in list] [prev in thread] [next in thread]
List: python-dev
Subject: [Python-Dev] Rehashing in PyDict_Copy
From: guido () python ! org (Guido van Rossum)
Date: 2002-08-29 19:30:52
Message-ID: 200208291930.g7TJUqf02625 () odiug ! zope ! com
[Download RAW message or body]
> Is there a reason that dict.copy() runs like an update()?
> It creates a new dict object, then re-hashes and inserts
> every element one-by-one, complete with collisions.
>
> I would have expected a single pass to update refcounts,
> an allocation for identical size, and a memcpy to polish
> it off.
After you've inserted and removed many elements into a dict, the
elements may not be in the best order, and there may be many "deleted"
markers. The update() strategy avoids copying such cruft.
--Guido van Rossum (home page: http://www.python.org/~guido/)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic