Martin v. Löwis <mar...@v.loewis.de> added the comment:

> In the C version of decimal, do distinct Decimal objects ever share  
> coefficients?  (This would be an obvious optimization for methods  
> like Decimal.copy_negate;  I don't know whether the C version  
> applies such optimizations.)  If there's potential for shared  
> coefficients, that might make the "not count any memory twice" part  
> tricky.

I know of three strategies to deal with such a case:
a) expose the inner objects, preferably through tp_traverse, and
    don't account for them in the container,
b) find a "canonical" owner of the contained objects, and only
    account for them along with the canonical container.
c) compute the number N of shared owners, and divide the object
    size by N. Due to rounding, this may be somewhat incorrect.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14520>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to