On Thursday 01 March 2012 15:17:35 Serhiy Storchaka wrote: > 01.03.12 11:29, André Malo написав(ла): > > - Caching. My data container objects (say, resultsets from a db or > > something) usually inherit from list or dict (sometimes also set) and are > > cached heavily. In order to ensure that they are not modified > > (accidentially), I have to choices: deepcopy or immutability. deepcopy is > > so expensive, that it's often cheaper to just leave out the cache. So I > > use immutability. (oh well, the objects are further restricted with > > __slots__) > > This is the first rational use of frozendict that I see. However, a deep > copy is still necessary to create the frozendict. For this case, I > believe, would be better to "freeze" dict inplace and then copy-on-write > it. In my case it's actually a half one. The data mostly comes from memcache ;) I'm populating the object and then I'm done with it. People wanting to modify it, need to copy it, yes. OTOH usually a shallow copy is enough (here). Funnily my ROList actually provides a "sorted" method instead of "sort" in order to create a sorted copy of the list. nd
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4