29 Aug
2002
29 Aug
'02
7:30 p.m.
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/)